[转帖]关于V2的blocker一点拙见
1.前言--是该说点什么的时候了 2003年9月2日,著名的卫视新闻网站satkurier公布了一条消息,viaccess2的blocker公开问世了,其实这也是意料之中的事情,继v2问世以来,经过两年多的时间,全世界的卫视黑客都在努力攻破这一系统,也该出点成果了.九月中旬,这一blocker的程序就在网络上流行开来了,国际上很多的烧友都在关注这一技术的发展.但是公布出来开的程序只能用于收看NTV(欧洲直播商)的节目. 于是一些黑客开始着手修改这一程序. 10月初在国内的卫视圈出现v2出盗版卡的传言,由于大家听到的这种传言实在是太多了,很多人认为狼又来了,没有相信. 几天前,blocker开始在国内市场销售,很多人亲眼所见但是对这一产品感到惊奇的同时更多的是迷惑,疑问,和担忧.于是我归隐山林后沉寂多日的qq响了起来,很多人问我关于blocker的问题,blocker到底能不能用?能用多久?什么原理?是不是支持自动升级?JS的说法可不可信?"伪技术派"的说法对吗?网上的程序到底能不能用?换key后能不能通过修改程序继续使用?可不可以采用手动的方式升级?华卫可能有什么对策?华卫会换key吗?............一系列的问题.. 首先感谢大家还记得我,但是这些问题我一个也没有回答,我已退出卫视圈多日,早已不再关心卫视方面的进展,只是偶尔搞点小玩具自己玩玩,对于欧洲的blocker虽然早已知道但是没有下功夫去研究.受卫视届大哥青岛阿义之托,我就去找了几个程序看了一下,对以上的问题有了一点认识,匆匆写了一点科普文章.解答一下大家的疑惑,以感谢广大烧友对我的信任.
2.v2blocker的效果--是不是好用? 网上有很多blocker的程序,相信很多明白一些写卡的人都下载来试验过了,结果我就不说了,有时候完全的"拿来主义"是不行的. 先说目前有人在销售的blocker,该blocker使用任何一张华卫的过期卡,没开的卡都可以看华卫的节目,包括洋片迪斯尼等正版卡也看不到的节目,但是不能看东森新闻等三套节目.配和113度过期卡和没开的卡可以看全部113的节目.配和在收视期内的正版华卡可以多看洋片等几套节目,在机器中查询卡号为0 用过d卡的人都知道卡号0意味着什么.这是网友测试的结果,我没有亲自验证.
3.v2blocker的结构--season还是盗版卡?? 电路图网上有,大家都看过了,一片84几个电阻,一个卡座,看上去像是season单实际上与season什么关系都没有,也不是什么84d卡但和84卡还有点关系,blocker是一种很早就有的设备,现在美洲的nagra rom10系统由于直播商频繁调整技术反盗版手段,常规的d卡已经无法正常使用,那里的烧友普遍采用blocker+过期正版卡来收看节目.
4.v2blocker的原理--简单的修改指令? 一般blocker的原理就是通过屏蔽或者修改一部分指令来欺骗卡片和接收机达到收看节目的目的. 我只是简单的看了一下程序,没有深入的研究,现在的v2 blocker的原理如下: (1).将接收机发来的指令过滤,blocker能够处理的部分(主要是和v1指令相同并不需要通过key来计算的部分指令)如查询卡号等由blocker中的16f84处理.需要用key来处理的指令发给卡片. (2)利用正版卡的一个bug从卡片中得到解密节目需要的数据。 (3)将得到数据经过处理组装成合法数据传给接收机收看节目. 以上是基本的原理,更细节的东西我没有深究,请注意第二条,现在的v2blocker并不是简单的修改指令来达到目的,他利用了一个正版卡中以前未知的bug.后面的文章将就这一细节作更深入的探讨. 你是不是正为是不是购买blocker而犹豫?或者你已经买了一个,正担心几百上千元的价格买来的东西能不能长期稳定的使用?出了问题经销商能不能解决? 想更加深入了解v2 blocker及其技术细节与发展前景吗?我也一样:)由于时间匆忙我还没有更加深入的去研究,由于对16f84汇编不是很懂所以研究起来有点费劲.明后两天我将突击研究一下. 请等待 <关于v2 blocker一点拙见(解决篇)> 3天后发表
5.v2blocker的缺陷,短命的产品--是不是致命的??
用过blocker的朋友都发现了一个问题,有三套节目不能看..这究竟是因为什么呢??就这一问题我对程序作了一点简单的分析,其实要说明白这个问题最直接的方法就是摆出一组log的数据,由于这篇文章是科普性质的,使用晦涩的数据来说明问题恐怕一般的读者就看不明白了,那我就尽量用简单明了的语言来说明一下:blocker夹在卡片和接收机之间,他必须要通过欺骗双方来达到目的,把接受机发来的指令过滤处理发给卡片,再把卡片发回的指令过滤处理发回接受机,数据的往复过程都要经过blocker处理,这就要求blocker有足够的运算能力和存储区域,84的运算能力是足够,但是他的存储区域实在是太小,太长的指令他是处理不了的,而不能收看那三套节目的原因就在于此---机器发给卡片的指令太长了.这一缺陷对现有的v2 blocker是致命的,如果华卫加长所有频道的指令,那么现有的blocker都将失效,而这一修改根本不需要换key,只要在每个月授权的时候改一下就可以了,所以说现在的v2 blocker的有效期将是--1个月.
这可能对有些人是一个打击,但事实如此.由于授权的管理也是一件很麻烦的事情,华卫是不是将在下个月10号有这一举动也不一定,在下次授权之前出现解决这一问题的新blocker也是"十分"可能的.所以对华卫来讲这也不一定是有效的手段.
其实现有的v2 blocker也还有其他的致命缺陷,那就是指令的过滤,现有的blocker几乎阻断了除解密节目所需要的数据以外所有的数据,也就是说,授权指令,换key的指令,甚至修改密码的指令都不能透过blocker到达卡片,所以自动升级是不可能了.而v2 blocker能够正常工作的基础就是卡片中有正确的key.
有人问,授权或升级的时候我不用blocker,而是把卡片直接插进接收机不就行了??别忘了你用的是过期的卡或者没开的卡,是得不到授权的,当然,在收视期内的正版卡可以这样做....
那么说blocker是不可能自动升级的了?其实也不是,只要修改一下现有的程序做到自动升级也是可能的,要blocker能够自动升级只是一点小技巧,并不牵扯加密的算法,熟悉viaccess加密系统的人自然可以想得到,但是解释这一问题需要牵扯到很多关于viaccess加密系统管理机制的内容,我目前无法用简单明了的语言来进行描述,这不符合科普文章的要求,再加上一点点保守的因素,所以在本文中就不从机理上介绍这一问题了.
我相信还有其他致命缺陷,我正在研究,目前就只说这两条,剩下的我将在以后的文章中补充.
6.缺陷的解决--还有什么办法??
对于上面所说的第一个缺陷,现有的84blocker可以通过修改程序让程序能够充分利用现有的存储空间来解决,但84的存储空间实在是有限,如果指令比现在的东森新闻在增长一些,怕是修改程序也解决不了了.最彻底的解决办法还是更换cpu,采用存储空间更大的cpu来重新编写blocker的程序,使其能够处理更长的指令.相信在不久的将来就会出现使用8515或者877来制作的blocker面世.
对于第二个缺陷,其实授权根本不是问题,现在用的过期卡和没开的卡也没有授权一样可以用。我在第四部分中说过,现有的blocker利用了一个v2正版卡的bug,这一bug有两个基础:第一,现有的正版卡的管理方式存在漏洞,当接受机发来指令的时候,正版卡先进行运算,把运算的结果放在缓存中,然后由管理模块进行判断卡片是否有收视权限,如果有,结果返回给接收机,如果没有就不返回.第二,blocker利用卡片的溢出错误漏洞,连续发给卡片几条错误的指令,导致运算溢出,然后从缓存中取出结果,经过处理组装后返回给接受机。以上是详细的原理。综上所述,能够利用这一漏洞有一个基本条件,那就是卡片中有正确的key能够运算出正确的结果,如果卡片中的key不对了,那blocker就失效了.这一问题与cpu的存储空间大小没有关系,即使用8515或者877做的blocker也要面对这一问题,我刚才说了,利用一点小技巧可以解决自动升级问题,但即使不能自动升级影响的也只是blocker这一产品,对全局的发展并不重要,因为如果华卫换key那就等于自掘坟墓,结果是在blocker完蛋的同时,华卫也完蛋.糊涂了?看下面的解答:
从上面的描述可以看出,正版卡先计算结果然后判断授权.换key也一样,首先过期卡和没开的卡中的mkey都是正确的,所以他能够计算出换key的解果,也就是正确的新key,如果在正版卡计算出新key之后,我们再一次利用卡片的溢出错误,那得到的将是多年来全世界黑客梦寐以求的key,至此blocker完成其历史使命,将由新的d卡来取代其位置.blocker在烧友的欢呼声中完蛋了,华卫呢??
7.将来的暴风骤雨--blocker与华卫的斗争。谁将获胜?
这是几天前打好的提纲,其实这个部分是最难写的,我不是预言家,无法预言谁的胜利。任何一方的胜利都将是短暂的,v1加密--v1出盗卡--换key--出自动升级盗卡--换v2--出blocker--换key--出v2盗卡...如此循环往复没有一方会取得绝对的胜利,即使华卫倒闭也会有新的直播商来继续这一循环,暴风骤雨从来没有停止过,那就让它来得更猛烈些吧.
我想借用两句话来说明我的观点:
第一句是一个国外的发烧友说的"We will win, our free TV again."我想加一句"Again and again"
第二句话非常的有名,那就是 "Enjoy everyday!"
8.结尾--问题的解答
这篇关于blocker的科普文章写到这里就结束了,在第一部分提出的问题在整篇文章中大部分已经得到了解答.只有几个问题还没有说:
(1.)关于js的说法,我不作评论,我希望烧友自己判断.
(2.)我不敢保证我说的都对,预见不到的和判断错误的可能性是有的,由其是一部分我推断的结果,但这是我目前的见识,如果错了,只能是因为我水平不到有待于继续学习,但我丝毫没有要欺骗谁和打压谁的想法。这篇文章可能会损害一些人的利益,但是我相信广大烧友是支持我的.
(3.)这是科普文章,从头到尾没有非常难懂的术语和令人摸不着头脑的数据,我反对把一些一般人看不懂的东西贴出来招摇.看不懂的人怎么也看不懂,看得懂的人可是看得很清楚,别人看不懂并不代表你水平高.说好听点这叫做学术腐败,说不好听了这叫装NB,不管他懂不懂技术,我把这部分人称为"伪技术派".伪技术派说的对不对并不重要,反正你也看不懂,不去理他就是了。
以上第(3)条论调对事不对人.
(4)有人问直播商可能用什么方法来对付blocker,我想最简单有效的方法莫过于控制没开卡的数量.
最后是青岛阿义老兄问的是不是可以将blocker的原理应用于irdeto2系统.
这一漏洞只存在于viaccess的正版卡上,对于irdeto2的blocker网上有一些相关的报道,我将继续关注blocker的发展,但是目前的v2 blocker是不能被irdeto blocker所借鉴的.
下面是一些稍微有点难理解的词的解释:
blocker:直接翻译成阻断,在这里的blocker就是夹在接受机和卡片之间的一个骗子,骗完这边骗那边.
指令:我想我已经用了最容易理解的词汇来描述这个东西了,如果你还不明白,那我只能解释成这样,指令就是一些只有接受机和卡片能够明白而一般人看不懂的乱七八糟的数字.
log:说白了就是对话记录,法庭上的书记员就是干的这个工作,这里指卡片接受机和blocker互相之间的对话记录,当然这个记录的内容是一些乱七八糟的数字.
授权:就是告诉卡片哪些台不可以看,哪些台可以看以及可以看到什么时候.
溢出:可以理解成跟一个人德国人讲加杂着意大利语的有法语口音的西班牙语把他搞糊涂.
bug:糊涂了就容易犯错误比如说让人把钱包拿走了.而计算机会重复犯相同的错误.
wolfking于2003年10月14日