|
|
|
联系客服020-83701501

分析分享- Hacking Team Flash 0Day

联系在线客服,可以获得免费在线咨询服务。 QQ咨询 我要预约
分析分享: Hacking Team Flash 0Day

Content

  • 裂痕:Flash 0Day
    • 为甚么是Flash 0Dday
    • 裂痕触发
    • 受影响零碎
  • 打击:裂痕操纵
    • 触发情理
    • 动态调试
    • 提权验证
    • 操纵模式
  • 防护:思路及倡导
    • 思路
    • 倡导
  • 解说:Flash裂痕分析
    • Flash背景常识
    • Flash文件格式
    • Flash罕用器械介绍
    • AS剧本
    • Flash ActiveX控件介绍
  • 勾引情报
  • 关于绿盟科技

模式导读

Hacking Team事故已经畴昔一个星期,社会各界针对透露数据的分析还在中止中。为了扶直安然技能从业者后续可能有更多的人加入到分析步队中来,绿盟科技安然技能专家将Flash 0Day的分析动作雕残出来跟大家共享,便于技能人员可能入手Flash 0Day裂痕分析。

    1. 六日,勾引相应核心发动应急分析义务,绿盟TAC产物拦截到Flash 0Day裂痕打击;
    1. 六日夜,干系静态及起头倡导,第历久间奉告客户存眷;
    1. 7日,在官网网站公布严重通告,倡导狭小用户存眷事故进展。分析义务进展进展中;
    1. 9日,公布Hacking Team远程管教零碎简明分析光顾赐顾,同时公布防护筹划;
    1. 一3日,就Hacking Team Flash 0Day的分析进程质料分享。

在看完本光顾赐顾后,假如您有一致的见识,也许需要认识更多静态,请分割:

  • 绿盟科技勾引相应核心微博
  • http://weibo.com/threatresponse
  • 绿盟科技微博
  • http://weibo.com/nsfocus
  • 绿盟科技微信号
  • 搜寻群众号绿盟科技

裂痕:Flash 0Day

自7月5日晚,Hacking Team被Ga妹妹a Group Hacker占领以来,其透露的400GB数据包持续在业界传布发酵,绿盟科技勾引相应核心持续跟踪时势进展,给出系列分析光顾赐顾,同时也将干系解决筹划供应应分工搭档及最终用户,以便用户可能应对大要产生的打击,这次事故告一段落。今天绿盟科技安然技能人员将针对这次透露的Flash 0Day裂痕,将分析动作、器械及干系常识分享出来,企望更多的安然行业从业者可能从中有所获益。

为甚么是Flash 0Dday

绿盟科技不停加入微软MAPP计划,该计划外表也包含了Adobe公司爆出的裂痕,通过以往历久跟踪分析的教训来看,Adobe裂痕主要会合在两款产物一个是Abode reader,另外一个就是Adobe Flash。这次光顾赐顾分析的裂痕就是关于后者的裂痕,该裂痕在绿盟科技裂痕库中存在这些标识,CVE-20一5-5一19,Adobe Flash Player Actionscript 3 ByteArray开释后重用远程裂痕(CVE-20一5-5一19),BUGTRAQ ID: 755六八 ,CVE(CAN) ID: CVE-20一5-5一19

为甚么Hacking Team用了Flash裂痕,是因为Flash裂痕对比别的软件,协议,供职的裂痕要更难分析和操纵,一方面也许为黑产互助者打造壁垒,同时也为分析和防护Flash 0Day晋升难度。究其缘故原由有如下几个方面:

  • 不有符号表:Flash软件不是微软供应的软件,所以不有供应规范的符号表,较难定位到具体的函数地位,今朝做这方面分析的构造未几。
  • 假造机机制:泛泛常见的Flash Player都集成为了AVM2,将AS编译的字节码直接跑在假造机上,由AVM2来说明执行。一方面随便了swf文件的移植,另外一方面,相关于分析别的软件的裂痕来说,无疑又是多了一层爱崇。
  • 沙箱机制:Flash安然模型操作安然域的沙箱来分散模式。Flash沙箱除了断绝模式外,还能防范名字斗嘴(有点雷同定名空间)。沙箱零碎中一致的安然域使得SWF文件在Flash播放时运作在大家的沙箱里。假如想要突破沙箱机制,需要对Flash沙箱情理要有比较透彻的理解。
  • IE爱崇机制:当初的Flash一般都嵌入到网页,假如想操纵Flash裂痕来失掉权限,无疑遭到IE等阅读器本人机制的爱崇,比方IE,Chrome的沙箱机制。这就央求对沙箱机制和如何绕过沙箱有个整体细致的认识,也就是说想通过Flash裂痕来失掉更高的权限还是要有更高的唱工。
  • 不有残破的POC:关于裂痕分析和操纵假如不有POC,那也只能靠本人去挖掘这个裂痕; 另外一方面假如短少残破的POC,打击者只能本人去写代码,所以业界及主管机构凡是严酷管教POC的传布。

POC的根柢坚守就是验证并触发该裂痕大约Bug存在,但是能触发裂痕,不代表就一定能操纵裂痕;有些裂痕是不能操纵,诚然咱们也也许不管这种裂痕叫裂痕,而只能称之为Bug。但这次透露出的Flash0day数据,是也许被触发的。

裂痕触发

那么这次的裂痕假如被触发,会有甚么样的结果呢?先来看看裂痕触发后的景遇。通过度析,操纵该裂痕也许在IE中强项的执行零碎可执行文件,比方不才图中就弹出了共计器。

1

动作很复杂操纵布局的test.html加载swf文件,在加载swf文件时IE会提示要加载ActiveX插件,运转就行。加载插件后点击图中的”run calc.exe”按钮便可弹出共计器,裂痕操纵胜利。这个实行中操作Win7 六4位、IE一1,能强项触发裂痕。

受影响零碎

Adobe Flash Player存在一个紧张的开释后重操纵内存粉碎裂痕,打击者大要远程获适当前用户的权限。此裂痕影响大量Flash Player版本,此裂痕影响大量Flash Player版本,今朝已有可操纵的打击代码悍然公布,强烈倡导受影响用户更新到当前厂商供应的最新版本。

  • Adobe Flash Player <= 一八.0.0.一94
  • Adobe Flash Player <= 一八.0.0.一94
  • Adobe Flash Player Extended Support Release 一3.x
  • Adobe Flash Player Extended Support Release 一3.0.0.29六
  • Adobe Flash Player for Linux 一1.x
  • Adobe Flash Player for Linux 一1.2.202.4六八

打击:裂痕操纵

触发情理

该裂痕是一个典型的UAF开释重操纵的裂痕。用户改写字节数组大小,在原来字节数组开释后,从新分配,招致该数值被写入已经开释的内存中,组成开释重操纵。

动态调试

因为HackingTeam透露出的数据中流露了Flash 0Day裂痕源码,咱们的得以操作CS前进履态调试。

源码级调试分析

操纵CS装载源文件中的fla原始档,和别的as文件。生成SWF文件

2

也许看出先是调用了MyClass.as文件中的InitGui函数来初始化GUI元素并输出一些零碎干系静态,点击swf文件中的button按钮就会调用相应的处理函数如下图所示:

3

处理函数btnClickHandler外表首先调用了TryExpl函数如下图所示:

4

接上去就看看TryExp一函数外表是怎么样做到裂痕操纵的,进入该函数

5

从给出的源码也许看出先是声领略变量alen=90尔后声明一个数组a并将数组的各元素赋值,在AS中Array数组典型的变量不像C/C++数组同样央求是匹敌典型的数据在也许放到数组外表,在AS中一致典型的变量器械也许放到匹敌数组外表。从源码也许看出,a数组的90个元素是MyClass2器械和ByteArray典型数组瓜代呈现,并且每分配两个MyClass2元素才会分配一次BtyeArray典型数组,那么实际运转效果是怎么的呢,咱们操纵CS调试坚守在for结束后的下一条语句下了断点体现如下图:

6

从图中看出咱们在for(i=alen-5;i>=0;i-=3)处下了断点,在调试运转后,让a数组添补竣事;左上部紫色的框给出了按钮按下后堆栈中函数调用干系,btnClinckHandler->TryExp一。左下方的红框给出了a数组赋值完成后每个元素的实际值,从图中看出,除了a[0]外,每呈现一次ByteArray元素要呈现两次MyClass2元素,这和咱们方才通过静态代码分析的结果是一致的。

接上去就是一个for(i=alen-5;i>=0;i=3)语句,前面晓得alen=90那么在第一次循环时i=八5通过源代码中的赋值咱们晓得a[八5]的大小是0Xfa0,源码中将_ba=a[i]也就是第一次将a[八5]赋给_ba(也就是_ba大小为0xfa0)同时将一个新的Myclass类赋给_ba的第4个字节_ba3。如下图所示

7

接上去就要动态跟踪一下a[i]是不是a[八5]假如是a[八5] 那么又是甚么典型,为了能查抄i的值究竟结果是不是a[八5]我在源码中增加了一条调试语句trace(“the number of i =”)看i的值打印几多,依照曩昔设置的断点,单步执行源代码,如下图所示:

8

从图中也许看出右下方打印出i的值是八5,偏偏咱们分析的一致,从左边图也许看出a[八5]元素的典型是ByteArray典型。接上去代码中会将MyClass器械赋值给_ba3。由前面介绍的常识咱们晓得,在MyClass器械赋给一个根柢典型时,会调用ValueOf函数,这里给器械MyClass定义了ValueOf函数,所以在赋值曩昔会调用该函数。

持续单步跟进_ba3=new MyClass();调用自定义的ValueOf函数

9

在咱们单步跟踪调试ValueOf函数,_gc数组除了在TryExp一中加入a数组元素外(_gc.push(a)),又通过valueof函数,加入了-va元素(_gc.push(_va)),何等_gc数组就有两个元素,一个是a数组元素,一个是_va数组元素,每个元素又是数组典型,a数组有90个元素,前面已经介绍过了,_va有5个元素,如图中左边体现的结果。在TryExp一中_ba=a[i]大小为0xfa0在valueof函数中_ba通过_ba.length=0x一100会开释调原来的空间而从头分配内存大小。同时通过反面的_va[i]=new Vector.(0x3f0)来从新操作开释的内存。前面咱们介绍过,在分配vector典型的空间时其前4个字节是vector大小也就是说,在被开释的空间的初阶4个字节会写入0x3f0。

而在_ba3=new Myclass()中_ba3实际指向的内存地点还是开释后的内存地点所以在返回40后被开释的内存的数据就是0x400003f0。

UAF裂痕图解

a. 通过a数组构建ByteArray典型元素数据,设置长度为0xfe0:

1

b.通过调用valueof函数中的_ba.length=0x一100,开释该空间

2

c.调用分配vector来攻克被开释的内存,由前面的常识,咱们晓得Uint vector包含了八字节的头部静态,此中初阶的4字节是长度字段。

3

d.在valueof返回0x40后,写入到曩昔_ba3指向的地点中

4

动态跟踪查抄结果

在Myclass器械调用valueof曩昔空间内存是esi-3,如下图所示

5

在调用length=0x一100后,内存空间被开释,哀告的vector操纵开释后的空间,从下图可见vector前4个字节值是0x3f0

6

在valueof返回后_ba3指向的第4个字节0x一0a70003被赋值为0x40

7

此时vector的长度字段已经变成为了0x400003f0

提权验证

那么操纵该裂痕是否也许抵达提权的目标呢,让咱们来验证一下。操纵windows7自带的IIS供职搭建一个Web供职,将test.html和exp一.swf放在web供职目录中同时将test.html中对exp一.swf援用改为绝对地点援用,何等在访问接见会面test.html时随便加载exp一.swf。设置IE发动爱崇模式,同时需要发动ProcessExplorer器械来监控IE进程和进程的权限品级。

8

从ProcessExplorer结果来看进程ID为一792的iexplore是沙箱进程,产生的子进程六5一2是在访问接见会面test.html是生成的一个Tab,如下图

9

诚然有多个IETab标签时会有多个子进程,同时遭到一个沙箱进程的爱崇,从图中看出沙箱进程品级是Medium,属于规范用户权限品级,而子进程六5一2则是low品级,是沙箱中的IE TAB进程的默认品级,IE沙箱中的IE TAB进程默认品级就是低。从图中也许看出,IE TAB子进程产生的calc子进程也是low。

操纵模式

由此上面的分析,咱们也许看收操纵该裂痕并未抵达权限晋升的效果,也就是说,打击者单独操作这个Flash 0Day裂痕是无法失掉高权限的,它只是构建了一个初品级的进程,需要羁糜别的动作来提权,比方这次透露数据中的windows内核字体权限裂痕,操纵此内核裂痕是很繁杂晋升权限的。同时,羁糜曩昔咱们对Hacking Team远程管教软件的分析,也许看到其代办署理有两种安排行动:

  • 感化挪动介质与良多木马、病毒及流氓软件的传布行动同样,该软件首先还是采纳这种低本钱的行动中止,感化一些可能接触目标的挪动媒体,比方CD-ROM、USB等,即就是OS 也许BIOS设置了暗码也同样也许感化,从而失掉一些环境数据,比方电脑是否也许上网等,为后续的设施供应参考按照。
  • 代办署理打击驳回软件或硬件的零碎,可能在网络会话进程中批改和注入数据,在某些情况下,也许注入到零碎并难以被检测到。同时,也可能感化Windows平台上的可执行文件,假如目标电脑从网站上下载并执行这些可执行文件时,Agent将在靠山主动安排,用户不会知晓。

那么,咱们这里可即也许画出一张大要的入侵以致完成监控目标链条:

1

防护:思路及倡导

思路

万变不离其宗,在上面的打击链条中,有很要害的一条,用户需要执行恶意代码,裂痕操纵能力胜利,那么从防护的角度来说至少需要有这些层面,一要可能侦测到恶意的Flash剧本;2要可能阻断Flash剧本的执行;3即使在执行后可能查杀恶意进程。值得一提的是,从下面的截图中也许看到在大家4处下载400GB透露数据包的时刻,恶意swf就藏在这些网站页面中,从这一点即也许看到其打击目标很显明,针对两头要害的打击从未终了。请下载这些数据包的人需要小心郑重,不要4处传布这些数据包。

2

在前次防护筹划中,咱们也提出用Intrusion Kill Chain模型来中止Flash 0Day以致后续打击的防护筹划的参考,具体的分析请参考那篇光顾赐顾。

倡导

同时,从用户的角度来说,倡导您也许采纳如下行动来防范Flash 0Day裂痕以及当前的雷同裂痕

  • 倡导您降级最新的Flash Player,具体请访问接见会面:?https://get.adobe.com/flashplayer/?loc=cn
  • 倡导您降级最新的安然产物规定库,具体请访问接见会面:?http://update.nsfocus.com/
  • 倡导您安排or降级最新杀毒软件,比方操作安然级别更高的猎豹 FireFox阅读器
  • 假如上面的顺序实施需要一定年光,倡导您恒久禁用Flash插件

因为Flash操作量远大,所以打击者对他的分析以及暴漏出来的裂痕是相等的多且多次,仅在近两个月,绿盟科技裂痕库就更新公布了一系列干系裂痕,具体静态请查询安然裂痕公告:?http://www.nsfocus.net/index.php?act=sec_bug

3

解说:Flash裂痕分析

在上面的分析中也许看到良多的术语和技能细节,为了扶直分析人员分析及应对这个裂痕,下面就羁糜这次Flash 0day裂痕,谈谈关于Flash方面的常识。

Flash背景常识

Flash又被称之为闪客,2005年一2月3日被Adobe公司收购。Flash一般也指Macromedia Flash Player(现Adobe Flash Player)。20一2年八月一5日,Flash加入Android平台,正式辞别挪动端。Flash是一种动画创作与操纵步调拓荒于一身的创作软件,到20一3年9月2日为止最新的零售版本为Adobe Flash Professional CC(20一3年公布)。今朝用的至少的产物是Adobe Flash Professional CS六。

Flash动画说究竟结果就是”遮罩+补间动画+逐帧动画”与元件(主假如影片剪辑)的夹杂物,通过这些元素的一致组合,从而也许构建变化多真个效果。Flash是一个尤其优秀的矢量动画制造软件,它以流式管教技能和矢量技能为核心,制造的动画存在短小老到的特性,所以被遍及操纵于网页动画的妄想中,以成为当前网页动画妄想最为风行的软件之一。

Flash影片的后缀名为.swf,swf在公布时也许决意爱崇坚守,假如不有决意,很繁杂被外人输入到他的原始档中操作。

“fla”是Flash的原始档,只能用对应版本或更高版本的Flash打开编辑。

Actionscript是一种步调语言的复杂剧本文件,.fla原始档可能直接包含Actionscript,但是也也许把它存成AS档做为外部抛却档案(如定义Actionscript类则必须在写在as文件里,再通过import加入类),以随便共同义务和更进阶的步调批改。

而关于一般的Flash方面的裂痕会合于Actionscript剧本阐发执行的裂痕操纵。今朝AS的最高版本是AS3.0。

Flash文件格式

关于Flash文件,切实和咱们普通用的PE文件,ELF及Dex文件雷同,也是由一定格式的数据结构形成。Flash文件的扩学名为.swf,其头部格式如下图

4

再好的阐明也不有实际的例子理解的深入,那咱们就羁糜两个实际Flash的swf文件看看SWF头部结构,如下图所示:

5

6

依照对swf文件头部的介绍,不需要大篇幅的翰墨来阐明swf文件头部的结构,羁糜上面的两幅图,来自于两个一致的文件,exp一.swf,exp2.swf。也许理解理睬的看到swf文件的的团体结构。

图中的两个swf文件,一个是紧缩过的exp一.swf,一个是未紧缩的exp2.swf。exp一.swf和exp2.swf由匹敌个fla原始档和AS剧本编译而成;exp一.swf被紧缩,exp2未被紧缩。从下图也也许看到两个文件大小的斗劲情况:

7

上面两幅swf阐发图来自于2进制查抄器械0一0 Editer的截图,在民间下载swf.bt模板,导入0一0 Editer器械中,打开swf文件,运转模板插件便可辨认出2进制文件典型及结构。

复杂介绍一下,依照文件头部的阐明,文件头部的前3个字节是标识符的初阶位为0x4六、0x57、0x53(”FWS”)也许0x43、0x57、0x53(”CWS”)此中之一。 “FWS”标识符阐明该文件是未紧缩的SWF文件,”CWS”标识符则阐明该文件前八个字节当前(即文件长度字段当前)的部门数据为开源的规范ZLIB行动紧缩,如上图exp一.swf所示;标识符当前是一个字节的版本号,这个版本号并不是一个ASCII码,而是一个八位的数字,比方,图中体现的版本值是0x0F。

文件长度字段是扫数包含文件头在内的文件字节长度,假如是未紧缩的SWF文件(标识符FWS),那么长度字段应该是和文件大小偏偏成婚,假如是一个经过紧缩的SWF文件(标识符CWS),那么文件长度字段是指文件经过解紧缩当前的总长度,是以它一般不会和文件大小成婚,若果操作未紧缩的文件尺寸可能让解压进程失掉更高的从命,从上图中的exp一.swf看收操作了未紧缩文件大小7六52八,和exp2.swf同样的大小 。

帧率是以帧每秒为单位的帧回放比率,在exp2中给出的帧率是一2,但是在紧缩文件exp一中已经被紧缩,紧缩算法是zlib.帧数是扫数SWF影片帧的总数量。从图中看出,在紧缩文件exp一也已经被紧缩。文件头当前是一系列间断的标签数据块,扫数的标签都共享一种通用格式如下图:

8

Exp2文件的一个整体结构如下图所示:

9

对swf文件格式的复杂介绍就到这里,标签的具体模式这里就不做深入解读了。关于如何查抄紧缩当前的swf文件模式,会在反面介绍。

Flash罕用器械介绍

关于Flash罕用器械,包含编译器械、反编译器械等。这里羁糜HackingTeam给出的Flash0Day裂痕源码来深造一些罕用的Flash器械。

编辑编译器械:CS

这款器械就是Flash编辑器械CS六.0,也是今朝制造Flash动画操作至少的一款器械。该器械存在针对AS剧本复杂的调试坚守。羁糜Hackingteam给出的源代码,让CS六.0直接加载源代码中的.fla原始档文件。当前直接运转”Ctrl+Enter”会在源代码目录下生成.swf文件。诚然该.swf文件包含了AS剧本的ABC字节码模式;编译后的结果如下图所示,因为在给的Flash0Day裂痕源码中已经给出了一些调试静态,所以在点击”run cale.exe”后,扫数呈现了一些调试静态,如图所示:

1

该器械还供应复杂的调试坚守,为了可能查抄和调试AS源码文件,也许同时打开AS源码,加入调试静态大约设置断点来调试AS源码,如图所示

2

紧缩与非紧缩SWF文件

从前面看到的贴图晓得,关于SWF文件有紧缩格式与非紧缩格式,那么为甚么会有紧缩格式与非紧缩格式。在CS5.0畴昔产生的swf默认凡利弊紧缩格式。假如需要对swf文件紧缩需要借助别的的swf紧缩器械,比方说MinifySWFFlash Optimizer,LiatoSWF等;而在CS六.0,集成为了lzma(7-zip)和zlib紧缩算法,对编译的swf文件默认凡是紧缩格式,所以咱们看到的HackingTeam默认编译的exp一.swf是一种紧缩格式。

假如想编译出非紧缩格式的swf文件,动作也很复杂,只需要在公布影片霎设置非紧缩便可,如下图所示

3

反编译器械:AS Sorcerer

关于已经公布的swf文件,都不会带有源码,对咱们调试swf文件就带来了不小的麻烦,雷同分析Android的DEX文件,凡是执行在假造机中,由假造机来说明执行字节码。DEX文件由反编译器械也许反编译出java源码,那么swf文件也有雷同的器械,依照SWF文件格式和ABC字节码反编译出类源码的文件。

Swf反编译器械也比较多,这里举个例子操纵AS Sorcerer器械来将编译好的swf文件从新阐发,下图是HackingTeam爆出了Flash0Day源码

4

从图中晓得,依照exp一.swf文件大小可知,HackingTeam本人编译的是zlib紧缩后的文件,诚然也也许通过2进制直接看看有不有被紧缩,依照前面介绍的常识,只需2进制文件前3个字节是”CWF”那就是紧缩后的文件。

接上去咱们用AS Sorcerer器械来反编译exp一.swf文件看反编译后的结果:

5

从反编译结果来看,该器械的确恢复了原有的几个AS文件,同时也阐明该器械能主动解压由zlib紧缩的swf文件,并对swf文件中止反编译阐发。

反编译器械:Sothink SWF Editer

接上去再介绍一款反编译器械—硕思闪客精灵,该器械比上一个款工存在更直观的界面,同时严重了一点就是供应了一款swf文件编辑器械Sothink SWF Editer,不光能辨认swf文件结构,而且也许直接编译swf的2进制文件。

先来看反编译器械硕思闪客精灵反编译exp一.swf文件的界面情况:

6

从图中也许看出该器械将紧缩格式的swf文件,直接反编译,同时看到了ABC字节码在反编译后的源码情况。

前面咱们提到过关于紧缩后的swf文件,0一0 Editer即使操作了swf模板,也不能阐发出紧缩后的文件格式。这里就介绍一款可能查抄SWF紧缩后文件格式的器械,Sothink SWF Editer器械也许直接将紧缩的swf文件,解压同时阐发出文件结构,如下图所示:

7

从图中看出紧缩的swf文件,在导入该器械后主动解压并辨认为FWS文件。而非CWS文件,为咱们分析不有源码的并紧缩的SWF文件,供应便利。

反编译器械:别的

还有别的的一些反编译器械比方yogdaasvswf decmpiler decompile Flash free,swf deompiler magic等就不一一罗列介绍。

AS剧本

AS(Action script)是Flash设施剧本语言,雷同于JS(javascript)剧本语言,所以在良多存储结谈判器械操作上都也许参考JS剧本语言的操作行动。下面羁糜本裂痕中会用到的一些结构器械做简明介绍。

AS中数组的操作

关于AS中的数组咱们需要晓得AS数组不像C/C++中的数组,在C/C++中数组央求存储同种典型的数据,而在AS中也许存储一致典型的数据,也许是根柢数据典型也也许是器械典型也也许是本人定义的典型。在本例将要提到的AS中,数据Array就同时存储了ByteArray和MyClass2两种数据典型。

AS中Vector存储模式

在AS中,Vector只能存储匹敌典型的元素,其一般操作的格式如下:

8

Vector类布局函数有两个可选参数,它核准你显明你的Vector实例的数量。第一个参数是length参数。默认情况下,当一个Vector被构建时,它是空的(它有0个元素)。但是,假如你传递一个值给length参数,显明元素数量的Vector实例就被构建了:

9

Vector器械的另外一个特征就是他们也许调整长度,这意味着你也许扭转值,但是不能通过增加或删除元从来扭转总数。默认地,一个Vector实例是不核准动态批改长度的。要构建一个可批改长度的Vector,将Vector类布局函数的第2个参数(fixed参数)设置为true:

1

留神:?也许在任甚么时刻候批改Vector器械的fixed属性来设置Vector的长度是否可变。

2

uint Vector在内存中的构造如下图,Uint vector包含了八字节的头部静态,此中4字节是长度字段。

3

AS中器械典型转换

在AS通用器械属性中有两个特殊的动作ToString()动作和ValueOf()动作。

ToString动作不有参数,它返回一个某种程度上代表着器械值的一个字符串,而它恰是在这个器械上调用的。当AS需要将一个器械转换为一个字符串器械时,就需要调用该函数。比方当操作+运算将一个字符串和一个器械链接起来,大约当期待一个字符串的函数Alert传递一个器械的时刻就会默认调用该函数。

ValueOf动作和ToString动作雷同,它是当AS需要把一个器械转换为某种根柢数据典型时就会调用该动作。比方一个器械用在需要一个根柢数值的环境中,AS会主动调用该函数,而在本文提到的裂痕中正式操纵了这一点,在将一个器械Myclass转为字节典型时默认调用Myclass的ValueOf动作。

Flash ActiveX控件介绍

Flash ActiveX控件是Adobe供应的阐发执行swf文件的引擎文件。AS一.0的时刻Flash还不有假造机机制,AS2.0在控件中集成为了AVM一,AS3.0集成为了AVM2。

如何查抄本机安排的Flash控件版本

动作一:随便打开一个视频网站的视频文件,点击右键看Flash版本,这里Flash版本就是本机安排的Flash版本,这里以优酷视频为例体现出本机Flash版本:

4

动作2:在本机管教面板中,点击本机管教面板中的Flash player,在更新标签中体现了跟控件的版本静态,如图:

5

动作3:在注册表中查抄,如图示:

6

动作4:登录Flash官网在线查抄Flash版本,地点为?http://www.Adobe.com/software/Flash/about/,该网址能主动辨认出本机的Flash控件版本,其体现结果为:

7

更新Flash控件的罕用方法

动作一:在管教面板的Flash player中安排更新

8

动作2:官网下载

9

动作3,在上面视频网站打开视频,点击右键,点击关于Adobe也会进入官网下载

10

Flash控件介绍

Flash控件的安排目录默认在C:\Windows\System32\Macromed\Flash下,在零碎目录下,这玩意央求权限还挺高的,控件名Flash32.ocx,如下图所示:

1

Flash控件就是个PE典型的文件,也许操作PE查抄器械来查抄该文件。前面说过Flash控件不是微软公布的控件,不有供应符号表,所以不能看到详细的导出函数,下面是用LoadPE器械来查抄它扫数的导出函数,如下图所示

2

从图中也许看出咱们能看到的导出函数函数只需八个。在操作IDA器械加载该控件后咱们能看到的绝大局部函数名是下面这种典型:

3

很难辨认出函数名和函数的作用。所以对良多人来说分析Flash裂痕就更难了。

[via@绿盟科技]

数安新闻+更多

证书相关+更多