娱乐新地带论坛  

返回   娱乐新地带论坛 > 电脑技术 > 『软件使用』

『软件使用』 交流对软件的使用心得、经验窍门、好的软件要让大家一起用

发表新主题 回复
 
主题工具 显示模式
旧 2008-01-21, 10:26 AM   #1
No8363
Erika
很傻很天真
级别:44 | 在线时长:2131小时 | 升级还需:74小时级别:44 | 在线时长:2131小时 | 升级还需:74小时级别:44 | 在线时长:2131小时 | 升级还需:74小时级别:44 | 在线时长:2131小时 | 升级还需:74小时级别:44 | 在线时长:2131小时 | 升级还需:74小时
 
Erika 的头像
 
注册日期: 2007-07-17
住址: 火星
帖子: 5,570
现金:9873金币
资产:21334金币
Erika 正向着好的方向发展
简单的破解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,这样就可以绕过检测了。

要修改的flash文件是压缩过的,需要先用cws2fws 这个工具来解压缩才能修改。
Erika 当前离线  
回复时引用此帖
发表新主题 回复

书签


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码

论坛跳转


所有时间均为北京时间。现在的时间是 12:32 PM


©2003-2024 1819.net All rights reserved.