1 从软件破解的方向,将正版卡的程序读出,最后将程序写入IC卡中,就变成与正卡无差别的D卡了。
仿制正版卡,可以将IC卡的触点剥离下来,再将保护的塑料蚀掉,暴露出元件和内部电路连接,就可以绘制成电原理图,最后交给能订制生产的IC卡的厂家生产。这些仿制还有一个冠冕堂皇的名称叫“反向工程”。国内在深圳和厦门等地都有能生产定制IC卡的厂家,在利益的驱使下,他们往往不会过问敏感问题。IC卡中的元件如果是通用元件,通常可以通过IC卡的功能原理的分析来确定,虽然困难,但总是可以最终确定。例如深圳目前直接使用流在市面上的ROM10与ROM11卡来制成D卡,ROM10与ROM11实际上是XX系统正版卡的“基础卡”,这些卡具有与正版卡相同的硬件基础,至于怎么流落到社会上的不得而知,但有一个事实就是大家应该都收到过安装卫星电视的短信,这是个可以想象的到的异常庞大的地下产业!
继续:IC卡中的元件如果是专用元件,确定元件的事情就变得极其困难和十分渺茫了。那么这个时候硬件仿制的路走不通了,那么看看软件仿真的路能不能走得通。再看软件仿真的路能不能走得通前,首先阐明软件仿真的路能不能走得通有不同的判断标准。如果仅以在一段时段中,软件仿真的D卡与正版卡都具有相同的条件收视功能来判断,那么无疑,从D卡的实践来看,软件仿真已经成功了。 但如果以任何时段中,软件仿真的D卡与正版卡都具有相同的功能,特别是对抗反制的功能来判断,那么我要说,同样无疑,软件仿真是不可能成功的。
因此我们仅承认这种事实就够了:自动对抗新的反制,使D卡与正版卡一样免除后顾之忧,肯定是D卡研究的终极目标。但是即便达不到这个目标,只要能保证一段时间的仿真成功,CA破解的商业价值就依然存在!补充说明反制:由于D卡的成功,尤其是带AU(自动换Key0/Key1)的D卡程序的广泛扩散,正版服务商感到了巨大的压力,逐步开始采用种种反制手段,让D版的AU卡实效。
我们先研究一下这个反制是个什么东东:学习和搞嵌入式控制器开发的人都用过仿真器,如“伟福”系列的MCS-51的仿真器等。大家一定知道硬件仿真与软件仿真存在一个本质区别,即I/O功能的不同。一条取端口引脚值的指令就足以区分是硬件仿真还是软件仿真了。硬件仿真可以真实地取到引脚上的实际输入,而软件仿真得到的只能是不会变化的内存仿真值。利用这个原理实现的反制程序分为两部分,前面的部分通过I/O端口的访问,区别出是真的硬件存在,还是软件仿真;后半部分对非法的仿真卡简单地返回主程序,不能解开Key0/Key1;对正版卡,则修改Key0/Key1,使之正确,然后返回主程序并保存key,保存的Key0/Key1用于ECM的解码。从历次搜集的反制EMM中的方法中,可以将反制归纳为两种,一种是从硬件或软件上区别D卡与正版卡,从而产生条件分支指令,使D卡仿真的程序失效;另一种是调用D卡中不可能有的,只有正版卡硬件才具备的MAP子程序,使D卡无法执行正确的程序。