混迹52这么长时间了,总是伸手拿别人的东西,自己没有什么原创分享出来{:301_1005:} 自己还需锻炼{:301_998:}
首先需要说明的是这款软件的作用是生成在线播放视频的swf文件,最大的特点在于操作简单,自带播放列表,并且生成的播放器兼容移动端
这款软件用的人很少,目前还没有人对软件本身进行破解,官网报价39美元,可以下载试用,但是有烦人的标记!现在网上的H5播放器很多,好用的也不少,但是总觉得不是特别美观,无奈自己又不会写Action Script,所以谷歌后发现了这款傻瓜操作生成swf播放器的小软件。下图是软件打开后的样子,可以发现左上角有官网的链接,我要做的就是去掉这个链接,但是,我的做法不是破解注册软件本身,而是从生成的swf文件入手。
很自然地想到对swf文件逆向,这确实可行,用AS3 Sorcerer的确可以拿到swf的源码,并且源码看上去还很正常(这里需要说明,不是所有的swf逆向工具都对这个软件生成的swf有效,我尝试了很多,发现有些软件逆向后生成的部分AS文件是空的!)。通过对源码分析,可以发现上面说的那个标记对应如下代码。
[Actionscript3] 纯文本查看 复制代码 private function InitWatermark():void
{
var _local_1:*;
var _local_2:TextFormat;
var _local_3:*;
if (cfgObject.demo)
{
_local_1 = new TextField();
_local_1.multiline = true;
_local_1.wordWrap = false;
_local_1.selectable = false;
_local_1.htmlText = "<a ><font face='Arial,Verdana'>http://www.magichtml.com</font></a>";
_local_1.autoSize = TextFieldAutoSize.LEFT;
_local_2 = new TextFormat();
_local_2.align = TextFormatAlign.CENTER;
_local_1.setTextFormat(_local_2);
_local_1.x = 8;
_local_1.y = 8;
_local_3 = new Sprite();
_local_3.graphics.beginFill(0xFFFFFF);
_local_3.graphics.drawRoundRect(0, 0, (_local_1.width + 8), (_local_1.height + 8), 8, 8);
_local_3.graphics.endFill();
_local_3.x = 4;
_local_3.y = 4;
_local_3.alpha = 1;
watermarkMC = new MovieClip();
watermarkMC.addChild(_local_3);
watermarkMC.addChild(_local_1);
this.addChild(watermarkMC);
watermarkMC.x = 8;
watermarkMC.y = 8;
};
}
主要起作用的在if语句里,本想着将这部分去掉后再编译生成swf就大功告成了,但是,事情并没有那么简单,自己尝试了很多次,虽然调用Flash SDK下的mxmlc确实可以不报错生成swf文件,但是完全不能用,浏览器调用后只会显示一块黑色区域。PS:后来发现,那个公司最成功的一款产品是swf加密软件{:301_1009:} 估计在生成swf文件过程中也加密了。
出现这种情况对我来讲基本无解了,因为完全不知道问题在哪。后来在使用ActionScriptViewer后发现,该款软件可以在不破坏swf文件的前提下直接编辑swf里的常量!看到希望了{:301_1003:}
返回之前的源码,发现在if里的判断实际就是调用了常量demo,这个值实际是软件自己加上去的,跟图1右侧播放器的相关设置在一起(类似xml文件)。所以只要一开始设置播放器时给一个false常量然后把if判断指向这个常量就好了。我这里用到的是randomPlay.
[Actionscript3] 纯文本查看 复制代码 if (cfgObject.randomPlay)
之后保存就好,浏览器再调用swf就正常了。至此,结束###
关于效果,实际上跟官网展示的一样https://www.magichtml.com/flashhtml5webvideoplayer/index.html
其实也不需要这么卖力的破解。软件生成的swf文件,默认调用外部同名的xml文件,这是播放列表文件,里面规定了视频地址、缩略图以及视频介绍,从官网上吧没有标记的swf文件下载下来并自己搞个同名xml文件就好了,刚发现{:301_1004:} |