2009年12月22日 | 分类: air, flash, flex, my works | 标签: , , ,

FPE(Flash Project Encrypter)是一款针对于flash项目,一个或多个swf文件的加密、混淆软件,包括分析整个项目,剔除冗余信息、多模块综合加密、全局混淆,注入指令、加密等功能。

详细信息请查看这里.. | 下载windows exe版本 | 下载Adobe AIR版本

2008年12月19日 | 分类: air, flash, my works | 标签: , , , , , ,

DoSWF是一款功能强大的swf处理软件软件。主要功能包括加密(as2, as3)、混淆、注入随机指令、添加水印、剔除等;同时还支持对swc进行加密。目前还没有软件可破解DoSWF的加密文件。详细信息请查看这里…
DoSWF is software for doing SWF files. The features includes encryption, obfuscation, adding watermark, pick out redundant data and so on. Other more, DoSWF has features for encrypting SWC files. More information please check here…

FPE(Flash Project Encrypter)是一款针对flash项目的综合处理软件,详细信息请查看这里…
FPE(Flash Project Encrypter) is a software for protecting flash project. More information please check here..

the style is from scalenine:http://www.scalenine.com

2010年2月8日 | 分类: air, flash, flex, my works | 标签: ,

近工作比较繁忙,常常有一个困扰:总是在找快捷方式。于是想写一个程序来让快速搜索,定位、开启程序。而正好Adobe  AIR2.x也正好添加了一个很有用的方法:File.openWithDefaultApplication()。于是有了AppManager:



AppManager主要是用于集中管理你的程序。你可以添加你需要快速搜索的程序到AppManager,在AppManager中可进行快速搜索并定位开启该程序。不足的是File.openWithDefaultApplication不能打开exe,lnk等adobe认为比较危险的程序。所以,可以优先使用exe版本!
AIR版本在线安装:



.exe版本下载》》 .air版本下载》》(需要安装Adobe AIR 2.0或更高版本)

2010年2月5日 | 分类: air | 标签: , ,

Adobe AIR 2 beta 2 was released on February 2, 2010. This release provides additional features, enhancements, fixes and miscellaneous improvements over beta 1.
Download AIR 2 beta 2 | AIR 2 beta 2 Release Notes

Enhanced support for interacting with printers (beta 2)
阅读全文——共689字

2010年2月5日 | 分类: air | 标签: , ,

First of all, you can not do this just in Adobe AIR. So, a third-party tool is a good choice:

Install 3rd party hotkey application (like AutoHotkey or HotKeyBind)
Configure hotkey application  to launch your AIR application.
阅读全文——共335字

2010年1月25日 | 分类: lots of things | 标签: ,

音乐工业长期以来被MP3无版权保护引发的盗版问题困扰,而我们也很清楚一些下载网站下到的MP3可能会出现标签混乱等情况,更不用指望关联歌词、作者等信息了。而一种新的技术可能将成为这种情况的终结者,它将在MP3格式的基础上附着版权和歌手、专辑信息甚至是分销商信息。这种名为“音乐DNA”的新格式已经得到了MP3格式的发明者的支持。该格式还提供歌手相关的社会化网站上的最近更新。当信息更新或者变动,嵌入歌曲的信息也会随之刷新。如果通过非法下载而得到的文件,将除了静态的音乐文件本身,得不到其他任何更新(这对于只希望听听而已的人来说似乎不是难以克服的障碍)。
新的格式将在现有的任何MP3音乐播放器上播放,包括苹果iPod。Kohlmeyer认为人们将很快不满足于单纯的聆听音乐,而需要歌词、歌手信息等配套的内容加入,让音乐丰满起来。今年春天将会有该格式的Beta版本在网上发布,夏天将可能全面商用。移动版的播放器也即将推出。BACH公司是该项技术的开发者,MP3格式的开发者和索尼音乐的前高管都是该公司的投资者。该公司办事处位于挪威、德国和中国,并与德国弗朗霍夫数字媒体技术学院(Fraunhofer Institute for Digital Media Technology)形成合作伙伴关系。CEO Stefan Kohlmeyer 说,公司正在同相关的音乐企业、网络零售商和乐队等进行联系,并收到很好的反馈。BACH还将允许一些公司用自己的商标发布新格式的音乐文件以加速其推广。他们还鼓励开发者为MusicDNA格式开发新的播放软件。包括环球唱片公司在内的一些业界大牌已经对该格式表现出了强烈兴趣。BACH公司认为,音乐业界需要一种新格式,来缓解他们对数字媒体越来越多的抱怨。不过希望他们不会重蹈DRM失败的覆辙。

2010年1月24日 | 分类: flash | 标签: , , ,

转自:http://space.flash8.net/bbs/thread-389762-1-1.html
情理之中,意料之中。不做任何评论,转载该文章,只是钦佩作者的钻研精神。不过还是希望破解不要太肆意。我不想把太多的时间花在防盗版上。自觉吧…
doswf破解版本很老且无用,最新的功能较强大且无破解版。试着用它加密过不下几百个,然后试图破解,只有2个完全成功。有些标签经过加密后,会让ASV和闪客精灵卡死。不过加过密的swf,很多都被部分损坏。 目前摸清楚了点原理,还在继续研究中。 doSwf基本上是用byteArray把原swf分解加工成ABC文件,然后用混淆过的builtin和类进行重组。而这种方法,是在swf10才有的。可以直接用abc文件的opcode和avm2debug代码,是伴随着alchemy出现的。所以针对swfencrypt6.04和doswf4来说,除了swf默认的文件格式,还得知道alchemy项目编译后的swf,有什么规律。这个因为本人不擅C语言,一点研究都没,暂时只做些推测。 很怀疑是不是doswf是直接addChild整个原swf,替换掉了stage。之所以这样认为,是因为一个有NN个addChild的swf,经过加密后,只剩下两个addChild,和一个removeChild。试图把这里的addChild和removeChild替换发现。原swf居然和doswf的水印居然是一个object。但是在as里写trace得知,原始的路径确实是在stage下面没错。 之间的代码大概是这样的 setTimeout(fun,5000)   //给个缓冲时间,因为doswf加密后的东西,往往隔个1-2秒才出现。 function fun(){ trace(this.stage.numChildren()) } 我们可以发现,经过加密后,stage上的children变多了一个,即是水印。而通过修改上面说的两个addChild和一个removeChild的部分,如果取消removeChild部分,stage的显示列表下实际上是多了两个物件。第一个物件不详,并且修改之,会使得flash打不开。猜测很可能是原始的stage。最想不通的是为什么水印会和原始的swf里的物件在同一个层级中。这里还需要很多研究,而且doswf每次加密时都会生成随机的替换字符用来混淆,甚至用来作为byteArray解析的密匙。 另外,addChild部分做解密后大概是这样的:   //替换stage没看到过相关的资料,也不一定确实可行,所以下面的伪码,实际效果可以实现,但是反推的代码很可能是错误的。 setTimeout(fun,time) //一定时间缓冲。可能怕水印加太早被其他物件覆盖。 addEventListener(Event.ADDED_TO_STAGE,fun1(e))    function fun(){ 加水印到原swf的stage中 移除原来的stage } function fun1(e){ 把整个stage加进场景} 而因为类名都进行过混淆,且doswf一加密至少多出9KB,暂时还没找到。所以只能用以下拙劣的方法去水印了 addEventListener(Event.ENTER_FRAME,doswf) function doswf(e){ var m=this.stage.getChildAt((this.stage.numChildren-1)) if(m.x==0&&m.y==0&&m.width==129&&m.height==30){ this.stage.removeChild(m) removeEventListener(Event.ENTER_FRAME,doswf) } } 理论上,可以通过它的opcode来反推水印。无奈在不同的AVM模拟器中,得到的opcode不尽相同,且目前AVM模拟器对比官方的flashplayer10落后很多。如果不知道原理,反编译doswf加密的swf10,几乎是不可能的。 而非替换整个文件结构的加密,去水印则很容易。 swf.uncompress()   //一切加解密都是在解压缩后操作的 for(var i=l2;i<l1;i–){     //通过判断byte中的数据,去掉目录里的水印的相关数据。 swfByte.readBytes(h,i,length) if(h.toString()==” “){ 重组swf }   } 此数据位置因为是在 目录 中,所以在文件尾处倒着查起的某个范围中。对于不同的加密软件,参数都不一样。对于swfEncrypt之前的版本来说,基本上没加密且都在文件尾。。另。正因为doswf加水印是用addedtostage触发的,所以用onEnterFrame或setInterval都会有个小的时间差。等研究多一些时,应该写个方法,把去水印函数加在添水印的函数里才算完美。

2010年1月22日 | 分类: flash | 标签: , ,

Typically, the order of the search for resolving multinames is the object’s declared traits, its dynamic properties,
The dynamic properties and prototype chain search will only happen if the
and finally the prototype chain.
multiname contains the public namespace (dynamic properties are always in the public namespace in
阅读全文——共1152字

2010年1月21日 | 分类: 快乐生活 | 标签:

真是伤心啊,纳税人的钱就这样没了。我想,去掉35都足以完成吧。看看才子的留言:
颜回曰:昔日随师周游列国,颠沛流离。再逐于鲁,削迹于卫,伐树于宋,围于陈蔡。甚知宣扬礼义之艰辛。奈何不做一网站,足不出户,既为天下之所知。
子曰:可。所费几何?
颜回曰:叁仟伍佰贰拾万元整。
阅读全文——共453字

2010年1月21日 | 分类: 快乐生活 | 标签:

2010年要做的事又多了一件:好好学习滑板。昨天晚上下班回家扛着板在小区里面练了会。还好没摔跤。最近上班比较累。到了家里几乎不想再用电脑。之前早上起来还看看一些书,然后洗漱上班。最近就老想睡觉了。杯具啊~~~
还念之前的半载没人理会的工作日子…

2010年1月21日 | 分类: flash | 标签: , , ,

That it very infrequent. When you read and write a same sol files with API of SharedObject frequently. Like following:

setTimeout(readAndWrite, 50);
 
阅读全文——共759字

2010年1月18日 | 分类: flash | 标签:

SecurityError: Error #2000: 没有活动的安全上下文。
at flash.display::Stage/requireOwnerPermissions()
at flash.display::Stage/get width()
at <anonymous>()[F:\dropbox\My Dropbox\laan lib\laan\core\Locker.as:140]
阅读全文——共208字