在某网站上看到一个flash,觉得可以作为讲课时的演示,于是想保存下来。没想到保存之后再打开flash就不能正常播放了。
我记得san以前学英语的时候搞过一批新东方的flash,于是找到他当时写的文档看了一下。这才知道,原来flash也是可以反编译的。
用SWF Decompiler打开flash一看,发现里面果然有两个Action判断了自身所在的位置。伪代码如下: if (target._url.indexOf("somenonexistenthost.com") !=-1 || (target._url.indexOf("somestrings") != -1 ||(target._url.indexOf("_modules") != -1 || target._url.indexOf("web187")!= -1)))
{
var _l9 = new com.[/font]somenonexistenthost[font=宋体].crypto.aso#96727.aso#05500(target, pl, ci, pb, r, rp, w);
}
else
{
var _l10 = _root.attachMovie("sorry", "sorry", 0);
trace(_l10);
_l10._x = Stage.width / 2;
_l10._y = Stage.height / 2;
} // end if
这就很好懂了,flash判断了自身所处的url里是否包含一些关键字,如果不包含,就进入一个“sorry”流程。
当时san所用的方法是替换函数,把处理异常流程的函数换成正常的。我琢磨对于硬盘上的flash来说,所谓url应该就是全路径,只要路径中包含了上面这些判断中的任意一个,应该就可以正常播放。试着把文件名修改为web187.swf,果然就可以了。
那怎么才能简单地干掉这个检测,以任意文件名来保存呢?我最开始想到的是把检查的字符串替换成“\\”,因为路径中肯定会包含这个。后来发现,其实只要让字符串长度发生变化(譬如删掉一个末尾的字符),flash就会把这里解析为空串,indexOf("")的结果就不会是-1,这样就可以绕过检测了。
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » 破解Flash动画
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 织梦模板使用说明
- 你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html