[tamarin系列之9] 在线的eval
- 博客分类:
- 技术杂绘
[tamarin系列之9] 在线的eval
2010年06月11日
文章分类:Java编程 我们先做一个实验:
1、构建一个测试类 2、把这段代码解析成已经包装了SWF头的ABC文件后为:
(请参考[tamarin系列之6] tamarin外篇---As3Eval )
00000000 46 57 53 09 6c 01 00 00 78 00 03 e8 00 00 0b b8 |FWS.l...x.......|
00000010 00 00 0c 01 00 44 11 08 00 00 00 3f 12 49 01 00 |.....D.....?.I..|
00000020 00 10 00 2e 00 01 01 01 11 00 06 4f 62 6a 65 63 |...........Objec|
00000030 74 05 41 72 72 61 79 06 52 65 67 45 78 70 04 74 |t.Array.RegExp.t|
00000040 65 73 74 10 3c 23 69 6e 74 65 72 6e 61 6c 20 74 |est. .internal.Na|
00000060 6d 65 73 70 61 63 65 06 70 75 62 6c 69 63 05 54 |mespace.public.T|
00000070 65 73 74 41 07 70 72 69 76 61 74 65 09 70 72 6f |estA.private.pro|
00000080 74 65 63 74 65 64 01 61 04 61 61 61 61 0a 24 63 |tected.a.aaaa.$c|
00000090 6f 6e 73 74 72 75 63 74 06 24 63 69 6e 69 74 06 |onstruct.$cinit.|
000000a0 16 01 17 06 08 01 05 0a 18 0a 02 01 03 0c 07 01 |................|
000000b0 02 07 01 03 07 01 04 07 02 07 07 03 08 07 02 09 |................|
000000c0 07 03 0a 09 02 01 07 04 0b 07 04 0c 07 03 0d 04 |................|
000000d0 00 00 0d 00 00 00 0f 02 00 00 10 00 00 00 00 00 |................|
000000e0 00 01 07 08 09 05 00 01 01 0b 01 00 00 02 02 09 |................|
000000f0 06 00 05 04 08 0a 06 00 05 05 08 01 03 03 04 06 |................|
00000100 00 05 02 08 06 06 00 05 03 08 07 04 00 00 04 00 |................|
00000110 01 02 00 01 0c d0 30 f1 05 2c 0e d5 d1 08 01 48 |......0..,.....H|
00000120 47 00 00 01 05 02 00 02 15 f1 05 d0 2a 30 1d 57 |G...........*0.W|
00000130 2a d5 2a 1c d0 49 00 1d d0 30 30 08 01 47 00 00 |*.*..I...00..G..|
00000140 02 01 01 00 01 03 d0 30 47 00 00 03 02 01 00 02 |.......0G.......|
00000150 17 d0 30 f1 05 5d 08 66 08 2a 30 58 00 1d 2a 30 |..0..].f.*0X..*0|
00000160 f1 05 1d 64 2b 68 07 47 00 00 40 00 |...d+h.G..@.|
把这个二进制文件另存 为t.swf
3、新建一个FLEX工程test
然后让其加载t.swf并执行里面的a方法:
ApplicationDomain(ApplicationDomain.currentDomain) ;
loader.load(request, context);
}
private function onComplete(e:Event) : void {
var loader : Loader = (e.target as Loader);
}
]]>
4、调试,输出结果为aaaa
=============================================
从1 -> 2 可以通过as3eval制作,它是不需要flex server的,也就是说不需要java等服务器支持
这完全是AS3在解析AS3的代码片段,然后生成ABC字节码
步骤2可以另存为文件,同时也可以参考[tamarin系列之6] tamarin外篇---As3Eval ,不用持久化成文件或数据库内容,而直接读入内存,这些都是可以的
从上面的分析我们可以看出,步骤1可以放入数据库,需要时释放出来马上通过步骤3解析,也可以给用户一个文本框让用户及时输入,在线解析,而这一切 是不通过服务器的
=============================================
利用在线解析,可以做到不用编译,直接序列化成swf文件,然后读取它就可以了,
也就是说,我们用AS3编译了AS3的代码片段
同时,用户可以直接输入内容,在本地进行内存编译解析,从而忽略服务器,也避免了压力
用户也可以通过输入定制的AS3 DSL,提交到数据库保存,使用时,提取这段DSL,进行解析就可以了,
不用再使用服务器端的JAVA编译,避免了安全问题。
使用AS3EVAL制作DSL会跟RUBY的DSL一样灵活,几乎可以定制任何规则,然后在本地进行解析
发表评论
-
Flex加载多个Module时出现“TypeError: Error #1034: 强制转换类型失败”错误
2012-01-20 09:56 969Flex加载多个Module时出现“TypeError: Er ... -
Flex 笔记心得连载中
2012-01-20 09:56 723Flex 笔记心得连载中 2010年08月03日 获取焦 ... -
Flash务实主义――Loading
2012-01-20 09:56 533Flash务实主义――Loading ... -
Flex动态加载swc和swf中的class
2012-01-20 09:54 842Flex动态加载swc和swf中的class 2011年05 ... -
VB 刷网站代码
2012-01-19 15:00 588VB 刷网站代码 2011年03 ... -
批处理+VBS脚本实现纯文本代码格式化输出
2012-01-19 15:00 601批处理+VBS脚本实现纯文 ... -
ASP文本文档(txt)相关操作代码
2012-01-19 15:00 691ASP文本文档(txt)相关操作代码 2011年04月22日 ... -
为方便自己看网络小说,自己写个txt按章节分段的小程序
2012-01-19 15:00 920为方便自己看网络小说,自己写个txt按章节分段的小程序 20 ... -
2011-3-9
2012-01-19 15:00 4522011-3-9 2011年03月09日 REG2BAT ... -
OpenGL开发库的详细介绍
2012-01-17 04:43 518OpenGL开发库的详细介绍 ... -
转载:OpenGL显示文字
2012-01-17 04:43 541转载:OpenGL显示文字 2010年07月03日 本课 ... -
VS2005配置OpenGL
2012-01-17 04:43 1000VS2005配置OpenGL 2011年06月24日 昨 ... -
OpenGL的安装
2012-01-17 04:43 625OpenGL的安装 2010年06月20 ... -
opengl
2012-01-17 04:43 685opengl 2010年11月17日 ... -
C#面试题集锦(你值得拥有!)
2012-01-16 03:37 1106C#面试题集锦(你值得拥 ... -
ASP.Net考试复习资料
2012-01-16 03:37 903ASP.Net考试复习资料 2011 ... -
ASP小偷(三):文档对象模型DOM
2012-01-16 03:37 1094ASP小偷(三):文档对象模型DOM 2009年08月22日 ... -
javascript:history.go()和History.back()的区别
2012-01-16 03:37 781javascript:history.go()和History ... -
经典的串口调试助手源代码(一)
2012-01-16 03:37 647经典的串口调试助手源代码(一) 2011年05月26日 ...
相关推荐
资源来自pypi官网。 资源全名:tamarin-utils-0.14.5.tar.gz
学习tamarin的必读文档之一,建议在阅读tamarin用户手册之前先阅读该文档。该文档为tamarin-prover的入门级介绍文档,可以快速了解tamarin的用途、使用方式与效果。
Tamarin证明者资料库 本自述文件描述了Tamarin证明者用于安全协议验证的存储库的组织。 它的目标受众是Tamarin证明者的感兴趣的用户和将来的开发人员。 有关Tamarin证明器的安装和使用说明,请参见手册的第2章: : ...
gem 'tamarin' 然后执行: $ bundle 或者自己安装: $ gem install tamarin 用法 运行服务器: bundle exec ruby lib / tamarin 然后,在其他终端运行: curl http : //localhost :3030 贡献 分叉它( )...
近期国内外很多安全研究人员使用Tamarin对一些经典安全协议进行分析,并发现了经典协议的漏洞,其中包括TLS核5G通信协议,以及最近火爆流行的ECU安全通信协议SecOC。 本文档为Tamarin用户手册,是学习Tamarin的最佳...
EM验证 这是EMV标准的模型,是我们IEEE S&P 2021论文EMV标准:Break,Fix,Verify的补充材料。 有关这项工作的详细信息,请访问 。... :GNU脚本,用于生成目标模型并对其进行Tamarin分析。 *.oracle
资源来自pypi官网。 资源全名:tamarin-utils-0.15.1.tar.gz
资源来自pypi官网。 资源全名:tamarin-utils-0.8.5.tar.gz
基于Tamarin的5G AKA协议形式化分析及其改进方法_.pdf
python库。 资源全名:tamarin-utils-0.15.4.tar.gz
是GNU脚本,用于生成目标模型并对其进行Tamarin分析。 *.oracle是证明支持的*.oracle 。 包含自动生成的目标模型( .spthy )及其证明( .proof )。 以HTML格式显示分析结果。 包含有用的脚本: 是一个Python...
Thane 是 Tamarin ( ) 的一个轻微修改版本,具有部分 Flash Player 兼容层,主要用 ActionScript 编写,并带有一点原生胶水。 引擎本身被修改为在 x86_64 架构下的 Unix 平台上运行。 现有的 Windows/64 支持已扩展...
包括Tamarin的HD图像动作冒险视频游戏。 对于Banjo Kazooie Donkey Kong和Mario 64的粉丝! 包括Tamarin的高清图像,动作冒险视频游戏。 对于Banjo Kazooie,Donkey Kong和Mario 64的粉丝! 我们总是更新图像,以便...
形式化分析、安全协议分析
monkey.org的数据过于杂乱,将其分开并分类处理
redtamarin, 在 命令行/server 端,运行 AS3 redtamarin简而言之,redtamarin是基于 Tamarin项目( 例如。 Flash Player 虚拟机),并允许在命令行上运行AS3代码。因为Tamarin只支持,( 对象,array,等等 ),...
包含10个不同种类的猴子图像数据集,(1.Bald Uakari Emperor Tamarin Golden Monkey Gray Langur Hamadryas Baboon Mandril Proboscis Monkey Red Howler Vervet Monkey White Faced Saki)每类猴子1000张图片左右
文章中所做的测试所需要的东西,包括Tamarin、asc.jar、builtin.abc、toplevel.abc等 博文链接:https://rednaxelafx.iteye.com/blog/196278