首页
社区
课程
招聘
[原创]土X视频播放器的swf解密过程
发表于: 2014-7-31 16:30 17782

[原创]土X视频播放器的swf解密过程

2014-7-31 16:30
17782

没太多技术含量,主要是普通的分析与实践,大牛莫笑
某视频网站土X的播放器Portalxxx_116.swf下载下来以后用asv打开发现关键的swf被加密了,当前的swf只是一个loader。没办法看到内部的内容,这让我这个一直用修改播放器去广告的小菜来说,简直伤心。
相比于优X ,iqiX的没有加密的swf播放器。土X的加密强度虽然不高,但是绝对能够阻挡很大一部分试图通过修改播放器去广告的行为。

当然作为小菜的我还是要试一试的。

任意打开一个视频播放页面,右键查看源代码
看到最主要的播放器swf文件为

88aK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3A6K6i4K6u0W2N6s2g2^5P5s2S2^5P5s2S2Q4x3X3g2U0L8$3#2Q4x3V1k6T1K9h3&6Q4x3V1k6D9K9h3&6^5P5s2S2^5P5q4)9J5c8W2m8G2M7Y4c8S2L8s2S2^5P5q4)9#2k6U0p5I4y4W2)9J5k6i4y4%4k6R3`.`.

用下载工具下载下来。打开swf看里面的资源以及as文件,发现完全不符合这个500K的文件大小。

分析以后发现主要有用的的as文件有三个,主要是利用as的bytearray来进行加解密。
1 SWZLoader           主要用来解密的函数
2 playerloader           主要用来加载文件解密等处理
3 playerloader_xxxplayer  加密后的swf数据

先来看2用来加载文件加解密的这个as的主要内容

private function init(_arg1:Event=null):void
{
var _local2:SWZLoader;
var _local3:ByteArray;
removeEventListener(Event.ADDED_TO_STAGE, this.init);
//生成一个SWZLoader解密模块的对象
_local2 = new SWZLoader();
//将playerloader_xxxplayer这个加密后的swf数据块作为bytearray读入local3中
_local3 = ByteArray(new this.tudouPlayer());
//调用解密模块解密字节流
_local2.load(_local3);
//完成后调用onLoadedHlr
_local2.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onLoadedHlr);
}

private function onLoadedHlr(_arg1:Event):void
{
       //将字节流作为一个swf加载运行
         this.mainSwf = (_arg1.target.content as Sprite);
            if (this.mainSwf != null){
                addChild(this.mainSwf);
         ......
};

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 3
支持
分享
打赏 + 10.00雪花
打赏次数 1 雪花 + 10.00
 
赞赏  故人人   +10.00 2017/08/13
最新回复 (21)
雪    币: 3516
活跃值: (4979)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
写得不错,我回去试下
2014-7-31 16:33
0
雪    币: 1149
活跃值: (1033)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
3
其实认真想想  lzma 为什么要用,有时候并不一定是为了加密....
2014-7-31 19:59
0
雪    币: 1515
活跃值: (5972)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
4
本来swf就是用这个方法压缩的
2014-7-31 21:17
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
本来swf就是用这个方法压缩的
2014-8-1 10:26
0
雪    币: 340
活跃值: (957)
能力值: ( LV9,RANK:220 )
在线值:
发帖
回帖
粉丝
6
以前的swf用zlib压缩,新的swf开始用lzma了。
2014-8-1 17:55
0
雪    币: 7
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
好复杂 看不懂 膜拜大神
2014-8-2 23:34
0
雪    币: 9182
活跃值: (5049)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
8
压缩对用户和视频站都有好处,解压缩后的播放器里面还嵌有两个flash
2014-9-29 19:59
0
雪    币: 43
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
写的挺好的,谢谢
2014-10-1 20:16
0
雪    币: 406
活跃值: (175)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
10
手机回复mark
2014-10-2 23:19
0
雪    币: 61
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
楼主用的什么反编译啊
2014-11-25 15:18
0
雪    币: 61
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
我这个反编译渣渣啊,as3搞的跟汇编一样 看不明白 楼主那个看起来好高端的样子
2014-11-25 15:58
0
雪    币: 1515
活跃值: (5972)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
13
硕思闪客精灵
2014-11-25 16:39
0
雪    币: 61
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
破解版的吗。。方便发给我一份么,我这个不能导出 1875910057@qq.com 谢谢
2014-11-25 17:14
0
雪    币: 255
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
好复杂 看不懂 膜拜大神
求拜师
2015-4-10 12:25
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
链接: 555K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4m8S2L8W2)9J5k6h3u0S2K9h3c8#2i4K6u0W2j5$3!0E0i4K6u0r3M7#2)9J5c8U0q4Y4k6s2f1^5d9o6q4x3 密码: yvtp
应该是最新的7.4版的,可用,已测试。
2015-6-28 19:31
0
雪    币: 61
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
3Q
2015-12-8 15:56
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
闪客精灵专业版 :89eK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6E0i4K6u0W2L8h3q4C8k6h3c8A6L8X3N6Q4x3X3g2U0L8$3#2Q4x3V1k6A6j5$3I4C8i4K6u0r3i4K6y4r3P5X3!0F1k6h3W2V1i4K6y4p5x3e0t1K6x3e0x3`.
2016-12-2 14:36
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
求楼主联系方式
2017-1-3 10:03
0
雪    币: 6129
活跃值: (4971)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
20
其实好多网课也是类似的加密
2017-1-8 15:28
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
大大你真牛
2017-8-13 23:33
0
雪    币:
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
2017-8-13 23:51
0
游客
登录 | 注册 方可回帖
返回