首页
社区
课程
招聘
[原创]金盾视频加密器V2010.9视频加密原理分析
发表于: 2010-11-25 19:35 67110

[原创]金盾视频加密器V2010.9视频加密原理分析

2010-11-25 19:35
67110
金盾视频加密器V2010.9视频加密原理分析       
天易love  2010-11-25        
     前段时间分析了一下,由于时间一长怕忘得一干二净,还是写下来给将来留下点回忆吧。由于是商业软件,其(基于新一代多媒体加密技术,安全性更高,通过国内某安全组织三防认证:防破解、防提取、防劫持)的特性让我很感兴趣。下面简单分析一下原理,其中涉及到的具体算法我就不再谈及了,希望大家理解。
    首先定义几个变量名,这样方便大家理解:
Key//视频加密密钥  本例是 654321
MachineCode
EncryptedMachineCode
MC_num1
MC_num2
MC_num3
PlayCode
PL_num1
PL_num2
PL_num3
Key_num1
Key_num2
Key_num3
SizeA
SizeB
SizeC

DWORD_Of_Keyfile // v2010.9.KEY文件最后一个DWORD
SecretNum  //神秘数字
VideoSize
Encrypt();//具体算法略过
Decrypt();

    具体提取步骤:
1、由播放密码得到3个数字;
2、由机器码得到3个数字;
3、求出读key时文件定位需要的3个块大小;
4、求出原始视频文件的文件名、大小
5、定位读取A、B、C、D块,并写入生成的新视频文件(其中只有A块需要先进行解密操作,具体解密算法略过);
6、补充说明。

1、对播放密码的处理可以得到3个数字:
PlayCode: 9d679362a552b2708132966da155b27887319164a15ab522d4
Decrypt(PlayCode)=,e061101005956096320597ce
这中间隐含3组数字的字符串我们将其取出来:第一个数字的位数不定,这里第4个字符6表示是6位,第2、3两个数字都是5位,所以这3个十进制数字是:
PL_num1=110100
PL_num2=59560
PL_num3=96320

2、对机器码的处理也可以得到3个数字:
MachineCode: 14f479fefd-d8427de05b-4b29d5f6ef
Encrypt(MachineCode)= Encrypt(14f479fefd-d8427de05b-4b29d5f6ef)
=8036C560A35AE424D7668E30AC57B076D5679361F64EB623833BC761F255E727
MD5(EncryptedMachineCode)=2E1B6488A8610627A3D5722EEAF78218
00000000   32 45 31 42 36 34 38 38  41 38 36 31 30 36 32 37   2E1B6488A8610627
00000010   41 33 44 35 37 32 32 45  45 41 46 37 38 32 31 38   A3D5722EEAF78218
取Md5值2E1B6488A8610627A3D5722EEAF78218前9个字符的16进制值32 45 31 42 36 34 38 38 41的低位字节转换得到字符串251264881。
这样我们可以得到3个十进制数(分成3段,中间的扩大10倍,两头的扩大100倍):
MC_num1=25100
MC_num2=2640
MC_num3=88100

3、由以上的6个数字,按照公式可以求出3个文件块大小,用十进制数表示:
SizeA= PL_num1- MC_num1= 110100-25100=85000
SizeB= PL_num2+ MC_num2=59560+2640=62200
SizeC= PL_num3- MC_num3=96320-88100=8220

        

4、求出SecretNum,并根据DWORD_Of_Keyfile运算得到原始视频文件的字节大小VideoSize
用winhex打开某视频加密器生成的v2010.9.exe,在尾部看到如图数据,红线划出的是加密信息的字节大小,复制出来用辅助工具解密得到:
.wmv`1d83b90b`01v2010.9.wmv``请在框中输入提示语,
您输入的提示语将在用户播放前显示给用户看见,
您可以在提示语中提醒客户如何获得播放密码,比如:
您可以留下QQ、MSN、邮箱、电话或者网址,
提醒通过这些方式与您联系获得播放密码``1`1`1`1`1`M.`1`1``1`50`50`1`180`3`1```0`LENOVO - 1160;Ver 1.00PARTTBL;;09/17/09;05/10/20091021PBN304QTK7ZPHR`89339565AD56B405F0419616D653B07489379060D057B070``88380619766F507E625893B`FD47ED1BC22CA26C91339262A458D424C322927AA453D200E356F716D858B971882D9263BB53BB7A81378C65A44CB071813B9264A652D203FF319360C537C976EB52EB06`853797
其中对提取视频数据有用的信息的是原视频文件名01v2010.9.wmv,前面的01可能是默认的文件编号加密时自动添加可以忽略,还有尾部的一个数字853797。将这个数字853797再用Decrypt()函数解密一次得到454。
SecretNum =454;
由v2010.9.KEY文件尾部读出一个双字0x5e2dd十进制就是385757
即DWORD_Of_Keyfile=385757;
所以VideoSize= DWORD_Of_Keyfile- SecretNum*100= 385757-454*100=340357字节
这样原始视频文件的文件名、大小分别是v2010.9.wmv和340357字节。

5、定位读取A、B、C、D块,并写入生成的新视频文件(其中只有A块需要先进行解密操作)
看图简单明了。

         
  
6、补充说明。
我的加密密钥是:key=654321
Encrypt(key)= Encrypt(654321)= 87379767A652
MD5(87379767A652)=850F2B82BD4209C6561A81281D83B90B
00000000   38 35 30 46 32 42 38 32  42 44 34 32 30 39 43 36   850F2B82BD4209C6
00000010   35 36 31 41 38 31 32 38  31 44 38 33 42 39 30 42   561A81281D83B90B
取Md5值850F2B82BD4209C6561A81281D83B90B前9个字符的16进制值38 35 30 46 32 42 38 32  42的低位字节转换得到字符串850622822
这样我们可以得到3个十进制数(分成3段,前2段扩大100倍,最后的扩大10倍):
Key_num1=85000
Key _num2=62200
Key _num3=8220
上面的计算结果:
SizeA= PL_num1- MC_num1= 110100-25100=85000
SizeB= PL_num2+ MC_num2=59560+2640=62200
SizeC= PL_num3- MC_num3=96320-88100=8220
显然可以得出如下结论:
Key_num1= SizeA
Key _num2= SizeB
Key _num3= SizeC

    这就是其中的奥秘!视频制作人的加密密钥其实就包含了3个块大小的信息,一旦加密视频制作完毕,它的4个块的大小也固定了,而你要观看,就必须对key文件进行重组,当然制作人不会告诉你密钥,他间接的给你播放密码,加密视频.exe文件就会根据播放密码和本机机器码计算出这几个块大小,从而自动提取视频数据进行播放。

     

    由于是国产商业软件,就到此为止了,只是有点小问题(提取不是一定不可以)。毕竟通过了国内某安全组织的认证,我们还是要放心使用,我对这个安全组织有些好奇。感谢观看!明天是个好日子!所有的一切都是为了明天!

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

上传的附件:
收藏
免费 7
支持
分享
最新回复 (49)
雪    币: 656
活跃值: (448)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
2
肯定是好东西,占位
2010-11-25 19:46
0
雪    币: 41
活跃值: (265)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
老大,我来顶贴来了,谢谢
2010-11-25 20:25
0
雪    币: 4204
活跃值: (4183)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
嗯嗯  这个要支持
2010-11-25 21:34
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
楼主真是一个高手。人才。
2010-11-25 23:17
0
雪    币: 227
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
正找这个东西呢。牛人啊。
2010-11-26 14:14
0
雪    币: 242
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我最近也在研究金盾的加密方式,希望可以找到漏洞,但是比较难,楼主有什么想法?
2010-11-26 15:13
0
雪    币: 103
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
抢占沙发!!!
2010-11-26 15:39
0
雪    币: 2015
活跃值: (902)
能力值: ( LV12,RANK:1000 )
在线值:
发帖
回帖
粉丝
9
我不会把时间浪费在这上面,因为不好玩了,就象一个游戏你已经把老怪打掉了。我的目标一直在变,刚实现了OD下的F5,难道这不可能吗?一且皆有可能!
2010-11-26 16:53
0
雪    币: 6790
活跃值: (4436)
能力值: (RANK:600 )
在线值:
发帖
回帖
粉丝
10
感谢牛人分享,强第一页!
2010-11-26 18:11
0
雪    币: 611
活跃值: (251)
能力值: ( LV12,RANK:390 )
在线值:
发帖
回帖
粉丝
11
一切皆有可能,天易,冲这句牛话,我强烈地支持你下!!!
2010-11-27 09:25
0
雪    币: 4419
活跃值: (894)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
这个要学学```````
2010-11-27 09:57
0
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
感谢这么好的东西
混迹看雪的好处就是这么多 的
哈哈
2010-11-27 10:31
0
雪    币: 45
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
interesting post thx for infos
2010-11-27 10:32
0
雪    币: 322
活跃值: (113)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
向牛人学习!!!
2010-11-27 11:49
0
雪    币: 326
活跃值: (41)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
16
占座学习。好东西啊。
2010-11-27 14:44
0
雪    币: 206
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
分析的很彻底!楼主提供原文件,供网友研究就好了!
2010-11-27 22:49
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
学习一下,支持了
2010-11-28 07:25
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
牛人,学习了
2010-11-29 00:23
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
顶。。。。。。。。。。。。
2010-12-12 11:41
0
雪    币: 796
活跃值: (1186)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
强烈关注,我手上有这个加密的东西,不过是网络授权的。只给注册两台电脑。当时买的时候说这两台电脑随便注册。可是电脑中毒重装后,不给注册了。气人呀。所以请楼主搞定他。
2010-12-25 10:14
0
雪    币: 2015
活跃值: (902)
能力值: ( LV12,RANK:1000 )
在线值:
发帖
回帖
粉丝
22
明年2月才能用电脑上网,暂时无法帮你。
2010-12-25 12:34
0
雪    币: 12055
活跃值: (4768)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23

这跟境界,看来是学不来了
2011-2-12 16:17
0
雪    币: 205
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
视频加密就是一个笑话,至少金盾的这个版本问题太多,很容易无key提取。
2011-3-22 10:12
0
雪    币: 152
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
很好的教程。讲的非常详细
2011-3-22 11:04
0
游客
登录 | 注册 方可回帖
返回
//