关于FLASH安全模型
Flex的安全模式保护客户端和服务器。考虑以下的安全当您部署Flex应用程序的一般方面:
Flash Player的操作在客户端上的沙箱
授权和验证用户身份谁访问服务器的资源
Flash Player中运行的应用程序被恶意代码劫持在一个安全沙箱,防止客户端的。这沙箱禁止运行Flex应用程序可以访问系统文件和执行其他任务的用户。
WordPress Joomla php ajax ext works life
Flex的安全模式保护客户端和服务器。考虑以下的安全当您部署Flex应用程序的一般方面:
Flash Player的操作在客户端上的沙箱
授权和验证用户身份谁访问服务器的资源
Flash Player中运行的应用程序被恶意代码劫持在一个安全沙箱,防止客户端的。这沙箱禁止运行Flex应用程序可以访问系统文件和执行其他任务的用户。
flash.events package
ActivityEvent camera microphone 状态改变时
AsynErrorEvent 异常过程出现异常。
DataEvent ErrorEvent Event HTTPStatusEvent
IOErrorEvent KeyboardEvent MouseEvent NetStatusEvent
ProgressEvent TextEvent TimerEvent
mx.events
BrowserChangeEvent ColorPickerEvent DataGridEvent DragEvent EffetEvent ItemClickEvent ListEvent MenuEvent ModuleEvent ScrollEvent StyleEvent ToolTipEvent ValidationResultEvent
Flash Player具有广泛的功能列表,确保Flash内容是安全的,包括以下内容:
使用SSL的浏览器中的加密功能之间的Flash应用程序和服务器的所有通讯
包括一个广泛的安全沙箱系统,限制访问的资料,可能危及安全或隐私
不允许应用程序读取本地硬盘数据,除非是该域中创建SharedObjects
不允许写入任何数据,除了是在SharedObjects封装的数据磁盘
不允许读取网页内容从服务器是不是来自同一个域的任何数据,除非该服务器明确的允许访问
使用户禁用任何领域的信息存储
不允许将数据从一摄像头或麦克风,除非用户发送给予许可
iphone 开发年初就开始关注的问题,苦于门槛—-没有mac 本,没有iphone .只能门外看了.今年iphone 开发者聚会,可以看看门内的情况了.
?我没有iphone ,也没有Mac ,怎么开始呀?
可爱的提问者问题一提出,四座哗然,其实这也是我想问的问题.iphone 是必需要,哪怕不是iphone 3Gs . iphone 二代也可软件升级到3的版本,联通将出的是不带wifi . (有实时对战的游戏的是需要wifi支持的。移动过程中网络状态会有不好,时断时续.实时的游戏这样的状况玩起来也是很痛苦的.)由于资费的原因,GPRS流量还不便宜,那样用是富人的专利。大众用的多的是wifi.
iphone ,mac 市价很贵,像样的mac 本 +iphone搭配准备8k-1万吧。 有一个办法,买二手保修期内的的,需要眼力,有保修心里也不别扭,新本哪怕开封没几天,身价就往下掉。苹果的用户普通比较赶潮流,新品出来后会有更高的追求,手里的mac 就成了鸡肋了。二手本能省2千左右。
应用的调试
至少得有iphone,应用必需真机调试,因为emulator 上跑的cpu ,memory 和真机不一样的.
应用被拒绝?
不要刺激苹果的神经,借用它们的产品名称,图片风格,hacking 这种刺激他们的神经。他们是平台。需要百折不挠的精神。
应用的空间?
现有苹果有30 million 用户, 1.8 billon 应用(2009-9 end)。用户在增长,应用还是有空间。精品永远少,苹果占市场小份额利润大空间。时尚炫酷是代名词,应用也以娱乐类最受欢迎.
开发什么样的应用吗?
能收上费的游戏居多,tool、其它居少。。。开发什么样的应用以人群细分。在苹果上开发的游戏应用需要熟悉欧美文化才能取得成功,国内用户普通使用破解版的软件。中关村苹果店里对会员提供软件下载。其实国内的用户以免费方式更易接受.
下面讨论的技术是相当容易执行的,花费几分钟的时间。您可以使用此方法与代码混淆,加密或其他保护的方法-这只是增加了另一层保护。虽然这不会成为一个100 %万无一失的保护,但它仍然是比完全没有强,并有助于阻止大多数轻松的反编译。
正如标题中提到的.基本想法是在另一个“壳”的SWF简单地嵌入您的实际的SWF 。正是这种“空壳”的SWF ,你将随后部署/分发。
MainShell类
在另一个的SWF嵌入SWF ,您可以使用类似下面文件类:
package
{
import flash.display.Loader;
import flash.display.Sprite;
public class MainShell extends Sprite
{
[Embed(source="ActualSWF.swf", mimeType="application/octet-stream")]
private static const bytes:Class;
public function MainShell()
{
Loader(addChild(new Loader())).loadBytes(new bytes());
}
}
}
当这个“壳”的SWF运行,它会
(一)建立的一个实例flash.display.Loader ;
(二)添加装载实例显示列表;
(三)实例化的一个嵌入的SWF作为一个 ByteArray ;
(四)装入ByteArray到装载实例。
加载外部模块SWF到主机SWF以同样的方式工作 ,但在这种情况下,模块内嵌入的SWF是在主机SWF内 。这和装载外部SWFs不同,因为任何外部的SWF仍然可以很容易地从浏览器的缓存得到并分别反编译得到源码。
这将对最终用户完全透明的-它看起来像实际的SWF已运行。
FlashDevelop
对于使用FlashDevelop IDE的用户中,你可能意识到自己的SWF库浏览器(不像反编译,SWF嗅探出于完成代码用在这里合理,漂亮,等等) 。如果您试图浏览“壳”的SWF在FlashDevelop的项目管理面板中,在嵌入式的SWF您将不会看到库(类别和符号) 。这可以作为一种迅速核实,是否是受使用以上讨论“嵌入技术”保护的SWF。
拒绝反编译
这种保护方法假定反编译不能自动识别,提取和反编译二进制对象作为嵌入式的SWF 。因此,资产(类别和符号)在“ ActualSWF.swf ”将不再被反编译直接访问到 。
我试着使用这一技术嵌入式技术在反编辑软件(Sothink 和Trillix )试用版下,(actionscript 类,艺术图片,影片剪辑 符号等)的安全隐藏。
因为这代价小很容易实现,我建议你试试,看看效果。如上所述在一个“空壳”的SWF套上SWFs,并使用一个反编译试图破解它。也许有非试用版和/或其他反编译软件我还没有尝试到可以战胜这个简单的保护层,但即使他们这样做了…
进一步思考
虽然有可能反编译制造商可能最终识别 提取 反编译嵌入的SWFs.您可以采取进一步的事情,使保护更加难以破解。
不用直接嵌入的SWF ,你可以通过一些加密和内嵌加密的SWF运行它 -这是MIME类型的“ application /八位字节流” ,这样你就可以真正嵌入任何二进制文件(甚至无效的文件类型) 。随后,“空壳”的SWF将解密ByteArray提供给它面前的loadBytes ( )装载实例的方法。
必须非常明确,这里的意图是不完全加密。真正的目标是要故意“损坏”嵌入式的SWF ,这样,即使提取, decompilers不能轻易识别并运行/反编译它作为一个独立的SWF 。
为了破坏的SWF ,有无数的方法-使用简单的加密,字节变换 ,附加/ 前缀无用字节,等等哦,你的想法…基本上任何使SWF文件无效,不再作为一个可执行的SWF 。您甚至可以分裂SWF到两个或两个以上的二进制块,并在运行时间时重建损坏的嵌入SWF。
既然有这么多不同的算法损坏SWF ,那么几乎不可能反编译自动识别的方式来重建损坏的嵌入式的SWF 。
免责声明
不用说,如果您决定损坏/加密的SWF ,你必须能够重建,在“空壳”的SWF ,嵌入式二进制对象纳入了工作的SWF 。因此,虽然我们也许能够防止自动解密(主要目标在这里) ,请注意,这不提供保护,防止黑客确定(反编译的“空壳”的SWF ,让解密逻辑,嵌入式的SWF提取手动,解密,然后重新运行的SWF通过闪客) 。
原文: http://enigmaticthought.com/2009/08/how-to-flex-the-twitter-api/
Category: Flex / Tag: Flex, Gumbo, programming, Twitter / Add Comment
我呆在Freenode #flex (IRC 频道)一会儿,有人问在Flex中如何使用Twitter。既然我对其他的API已经动手做过我提出了一些建议,但我从来没有亲自处理过Twitter。Douglas Knudsen在他的360 |印度会议指出,没有使用Twitter 的mashup网页不是真正的完整网页,所以在这里教你如何“完成”你自己的项目。
有这个念头之后,(有新的Flash builder4试用版安装)我想有什么比建立一个Twitter的的Flex应用程序更好的了解Spark呢?由于我打算张贴它作为How to 教程,我要保持它是简单而令人愉悦。当然,读者应该可以很容易地获取代码段并将其移动到您自己的大型应用程序中。
我想第一步是了解Twitter的API的,直到我发现已经存在的项目有照顾到这种需要。感谢开源库tweetr ,我只是有一个Twitter模糊的想法,可以让tweetr做繁重的活。不用担心值对象或处理XML的细节,只需一个简单的事件监听器。所以,我把重点放在了Spark(我以前从来没有用它处理过)。
如果你想看到最后输出(和查看源文件)我已经张贴在这里。
搜索代码用起Tweetr是非常简单的。我只添加一个事件监听COMPLETE 事件,结果推送为可绑定的ArrayCollection 。我已经绑定了搜索功能到输入&单击事件Spark 文字输入框和按钮,但由于他们工作就像他们的MX组件,这还不是真正有趣去研究。
查看代码ACTIONSCRIPT3
[Bindable]
private var _searchResults:ArrayCollection = new ArrayCollection();
private function search():void {
var tweetr:Tweetr = new Tweetr;
tweetr.addEventListener(TweetEvent.COMPLETE, searchResults, false, 0, true);
tweetr.search(searchInput.text);
}
private function searchResults(event:TweetEvent):void {
_searchResults.source = event.responseArray;
_searchResults.refresh();
}
使用MX ,我通常绑定这些数据以一定的顺序到DataGrid中或Repeater,Spark 也没有这些。但是,感谢Flash Builder的代码提示,我发现了DataGroup的组件。这有点像repeater,有更多的布局配置.感谢Spark 中布局的工作方式。
查看代码ACTIONSCRIPT3
<s:DataGroup
dataProvider="{_searchResults}"
itemRenderer="com.enigmaticthought.components.TweetBox" width="100%">
<s:layout>
<s:VerticalLayout />
</s:layout>
</s:DataGroup>
因此,我剩下的工作是建立一个渲染器。这就用TweetBox来发挥。其基类是一个Spark ItemRenderer ,这有一个小技巧来处理,因为我得为它定义一个状态,即使我没有使用任何状态。这是因为ItemRenderer使用状态定义鼠标经过和选择,使组件可以定制。
填写TweetBox中 ,我只是覆盖了设置数据函数,分配所有值去显示组件。不幸的是, SearchResultData没有绑定时建成,所以我不能只让数据绑定做这项工作。
查看代码ACTIONSCRIPT3
import com.swfjunkie.tweetr.data.objects.SearchResultData;
private var _tweet:SearchResultData;
override public function set data(value:Object) : void {
super.data = value;
_tweet = value as SearchResultData;
if (_tweet) {
tweetImage.source = _tweet.userProfileImage;
tweetText.text = _tweet.text;
tweetAuthor.text = _tweet.user;
}
}
另外一个需要注意的一点是,文字资料我可以用Spark组件,图片仍然是一个的MX组件。在Spark Image 中没有任何计划,但这是一个很好的混和Spark MX的项目例子。
查看代码ACTIONSCRIPT3
<s:ItemRenderer
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
width="100%">
<s:layout>
<s:HorizontalLayout/>
</s:layout>
——————————————–
…State & Code Removed…
——————————————–
<mx:Image id="tweetImage" height="48" width="48" scaleContent="true" />
<s:VGroup id="textGroup" width="100%">
<s:SimpleText id="tweetText" width="100%" explicitMaxWidth="{textGroup.width}" />
<s:SimpleText id="tweetAuthor" width="100%" textAlign="right"/>
</s:VGroup>
</s:ItemRenderer>
现在我有一个很简单Twitter的搜索应用程序。所以,有什么Twitter的以外其他用途,e-stalking人?你可以建立一个新的警报系统,观察Twitter的新闻趋势,看看有什么新闻,或留意公司,团队,电影,电视节目,或股票。当然,也许只是娱乐一下。
原文 http://www.soundstep.com/blog/2009/08/21/soma-v2-as3-mvc-framework-released/
发布者: Romuald in SomaUI, talking, 标签: as3, class, flash, framework, soma, SomaUI, tutorial
我终于发布了第二个版本的框架Soma MVC与它的源代码产生器SomaUI ,自上次发布已经有很长的时间,几个月的日日夜夜让您的生活更轻松!
首先,我想感谢Less Rain。不仅是令人惊异、技术精湛的人,而且他们也一直非常支持我。再次感谢!
Soma v2的已经用于许多项目,使用它是一种极大的乐趣。我首先为自己建立这个框架,作为一种工具。如果我不认为Soma 可帮助您用最少的时间学习和 “框架冲突” ,我不会发布它,我希望…使用它们有很多乐趣!
相比第2版这一概念是类似的,许多已得到改善和增加。
首先是SomaUI演示!
SomaUI是一种工具生成源代码,基于Soma 的一个Flash网站。
SomaUI入门视频教程
Soma AS3的MVC框架
该框架是连续一致、更简单易用的,易用性一直是我的目标。为此,代理不存在了,模板系统已被删除。
相反,该框架有很多更有力和强大的地方,特别是在自动化。
有什么新的东西?
增加了一些库,没有库他们也可以使用,如装载库SomaLoader (已经发布作为一个独立的)来管理加载进程,队列管理和载入显示。
我还建立了一个视频播放器“ SomaVideoPlayer ” (尚未公布还是一个独立的) ,非常易于使用,具有强大的皮肤系统,以改变内置的控制或创建新的。
我还建立了资产系统,动态地创建图像,视频,或任何东西,他们的位置,说明布局行为,更多的和公正的…从一个XML文件,没有需要的代码!这个过程是非常快。例如,创建一个视频播放器在屏幕上,它不超过一个XML节点。这个资产系统可用于动态创建自己的资产(自定义显示对象)运行时从一个XML 获取。
有一个新的特殊的“页面模式的movieclip ”与Flash集成开发环境工作,能够几分钟内开发一个简单的整个网站(取决于你想要的要达到的)。这将在我的下一个教程中讲到。
我从来没有想Soma 强加规则给开发者,至少不太多。Soma(和SomaUI )的精髓 ,就是从来不处理物理文件或资产档案。你仍然可以嵌入图片,字体或任何你喜欢的方式(在Flash IDE中的SWC,元数据标签,或任何) 。我没有打破一些规则,但产生源代码,它是达到非常高的自由和灵活性。
SomaUI ,源代码发生器
第一版一直处于测试阶段,更是一种“概念” 。
在第2版将会进一步很多,其目的在于:
-建立一个XML文件要求,以使Soma工作
-导出部署文件( HTML格式,的CSS等)
-导出源文件( actinscript , Flash文件, XML的,等等)
-用Flex SDK编译
如果你知道如何建立XML文件所需的Soma,你能避免使用SomaUI 。因此,整个SomaUI关注点是帮助您建设, XML和创建文件,以解放时间。
通过屏幕,您可以设定您的项目,配置,建立网页,建立资产,背景,和导出!
最后
希望你使用这些工具玩得开心。要下载的来源,得到的文件,样品,解释或更多的帮助…一切都开始于SomaUI页。
任何反馈(好的或坏的)随时欢迎!
开发者快乐!
作者:Romu
Flex SDK 3.4 ,最新产品级质量发布。可以从Flex 开源下载.我们不发布新的Flex Builder 版本.无论如何3.4将在多sdk 特性中发布。如果你使用数据可视化(DATA Visualization)组件可以推后更新。 他们将在大约一周后发布在Adobe 站点[/url]上。
这一发布支持在Flash Player 10 和AIR 1.5上的安全更新,再有,它包含了在SDK 关键的bug 修复。有一个是致命的安全bug(更多见以下),还有社区里修复的bug.
一个重要的漏洞已被确定在3.3的Flex SDK和早期版本。此漏洞存在于导致跨站点脚本中。我们建议所有用户的Flex SDK的3.3和更早版本升级到最新版本的Flex SDK的3.4 。请参阅此安全公告的进一步资料。
你可以找到SDK 3.4中修复的bug 在这里。
原文:http://blogs.adobe.com/flex/archives/2009/08/flex_sdk_34_released_and_secur.html
开始了!一比高下的现代绘图的API 。在过去的两星期,我已经淘汰了我的许多库的选择,剩现在这四个。其它的几个发生了什么事?我决定用的XNA,是太以XBOX360中心其多任务处理、着色、以及DRM根据平台要去调整。再说一遍,我的首要目的是在Windows平台上开发能与Mac相容。此外,XNA,需要终端PC用户安装XNA框架包(这会给用户造成更多的麻烦),Blade3D上周也从名单中拿下,它让他们的许多用户抓头。以下是我用于发展我的原型和AI研究最新可行的平台名单,:
HAXE
*选用理由:根据使用情况比AS3快10%到200%
*存在问题:仍然很慢
Unity3D
*选用理由: 有绘画的API.在数学上比Flash 至少快400%
*存在问题: 增长的社区(一万多用户)
O3D
*选用理由: 堪比Unity3D 出血尖端技术 google 支持的平台
*存在问题: 婴儿期比较新 缺少工业级的范例 很小的安装量 (小于1%)
SFMLSuper 超快媒体库
*选用理由: 超快2D库(数倍于以上的API) 使用C++ 并且允许高定制、有弹性
*存在问题: 桌面安装/不是浏览器装载(用户障碍) 只是二维
作者 Jonathan Dunlap
Jonathan 是一位经验丰富的软件工程师,有JADBOX 的专有博客,他是FlashMVC 的作者.
原文: http://www.jadbox.com/2009/08/round-2-haxe-vs-unity3d-vs-o3d-vs-sfml/
看起来不像有很多尚未完成的功能,有alpha 2版本可以下载。大多数服务器之间的通讯大部分在工作,除了在Jive 服务中许许多多的错误和消失的功能。用户界面是仿照雷鸟NNTP客户端,所以你可以下载论坛清单,然后订阅一些论坛,这些信息的论坛将下载到本地的SQLite数据库,以便您甚至可以离线阅读。
Copyright © 2010 Lily's Blog All rights reserved. Theme by Laptop Geek.