收藏 分销(赏)

剖析SWF文件结构-探秘AVM运行原理.ppt

上传人:快乐****生活 文档编号:6512703 上传时间:2024-12-10 格式:PPT 页数:13 大小:134KB 下载积分:8 金币
下载 相关 举报
剖析SWF文件结构-探秘AVM运行原理.ppt_第1页
第1页 / 共13页
剖析SWF文件结构-探秘AVM运行原理.ppt_第2页
第2页 / 共13页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,.,*,剖析,SWF,文件结构,探秘,AVM,运行原理,By laan 2009.12.22,1,.,Why,1.,明白自己在做什么,2.,更底层的了解一些现象,堆栈不平衡、类型错误,error list,3.,优化你的程序,4.,加密和破解,5.,重构虚拟机,如果你足够,NX,的话,2,.,SWF,文件结构,Just Flashplayer9+,Head,Tag,Tag,Tag,1.FWS|CWS,2.Player Version,3.File Length,4.Frame Size,(Stage size*20),5.Frame Rate,6.Frame Count,Tag ID,Tag Length,Tag Data,3,.,Head Data,1.FWS|CWS,2.Player Version,3.File Length,4.Frame Size,5.Frame Rate,6.Frame Count,4,.,Tag,FileAttributes Tag,as3 GPU,network,Metadata Tag,携带信息,DoABC Tag,ShowFrame Tag,EndTag,携带数据,加密,SymbolClassTag,Protect Tag,防止导入,ScriptLimitTag,递归深度 脚本运行时间,SetBackgroundColor,Tag,设置背景,5,.,DoABC Tag,Tag ID,Tag Length,Tag Data,82,name,Abc,72 Tag,Haxe,加密,AVM2,Actionscript Virtual Machine,6,.,AVM2,1.ABC data,(Actionscript Byte Code),3.,运行原理,2.ABC,数据结构,4.,指令,7,.,Class Test,private var a:String;,private const BIG:uint=50;,private function test():void,trace(doStr();,function doStr():String,return“NULL”,ABC,数据结构,Script,Class,Instance,Trait,Method,Method Body,pccode,结构由大到小,Medthod Trait,Slot/Const Trait,Class Trait,Function Trait,8,.,AVM2,运行原理,ABC,Load,Link,Verify,Execute,Load:,加载,ABC,数据到内存并解析,得到所有数据单元,Script,Class,Instance,Trait,Strings,Link:,各单元之间的关系建立,比如,Class,与,Instance,,,Method,与,MethodBody,Verify:,检查各,abc,数据的正确性,。,要是不检查正确性,,player,可以做很多坏事,分支检查,堆栈检查,比如一个,MethodBody,被链接到两个,Method,上,Execute:,开始执行,ABC,数据。,官方:最后一个,script,结构的,init,方法,Actually,:文档类所在,Script,结构的,init,方法,9,.,Call Method,Method,Body,Stack,Scope,pccodes,Local data,Call,Method,0 getlocal0,1 pushscope,2 pushnull,3 coerce_s,4 setlocal1,5 pushstring,7 setlocal1,8 getlocal1,9 pushstring,10,.,程序优化,从,pccode,层面来程序优化,1.,程序运行时间的消耗在哪儿?,2.,局部变量,3.Dynamic,会快还是会慢?,4.Swich,还是,if else,,是个问题,5.Try catch,的优化,1.,属性、方法访问时的搜索,2.,分支跳转,局部变量一般情况下是不会编译到,swf,中去。所以无需考虑其长度,比如,var theLengthOf Array:uint,Lookupswitch,指令的特殊结构。,动态调用会消耗更多的搜索时间。,保存局部变量名称,11,.,Where should we go next?,1.,各自回工位,2.,学习更多,SWF,文件格式官方文档下载,AVM2,官方说明文档下载,12,.,感谢,感谢,CCAV,感谢,Adobe,提供这么优秀的产品,感谢肖大侠的协助,非常感谢各位抽空来接受折磨,13,.,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服