赞助论坛
  • 2589阅读
  • 0回复

盗版变完美正版的一点想法与求助(技术交流求助贴) [复制链接]

楼层直达
vising  
发帖
47
精华
0
金币
78
威望
0
贡献
0
好评
0
注册
2009-12-29
楼主    vising 发表于: 2010-02-16 15:16:58 
昨天折腾了自己的高斯贝尔208铁壳机N久,也没弄到一个完美的(是完美的)正版改造方案,主要问题是面板显示和面板按键的问题不能很好解决。于是发了一贴和大家讨论。
[url]http://bbs.lcdhome.net/read-htm-tid-27356-keyword-.html[/url]


今天看了一些资料,虽然看了个大概,不过还是有点意思。(一会资料附后)

现在想来想完美解决山机变正版(指可刷正版BIN的那部分高端山机),解决面板显示和按键问题,只有两个思路,一是硬改,能跳线的跳线,能加片的加片,使之显示与按键正常。(坛中有此类高手)可惜此方法实在难以推而广之。 二是软改,在正版BIN中找到面板控制那那段代码,换成自己的,相关硬件标识、ID之类的不变,以图欺骗卫星。这样就解决了面板不对的问题。只不过有一个疑问:空中升级时会不会替换掉这部份代码,还是升级频道相关参数。如是后者,软改完全可以,如是前者,升级后仍会出现面板失灵的现象,那就意味此路不通。

本人能力实在有限,求各位大侠分析找出BIN中面板控制代码段以实验,给坛中部分伪正版机友一个完美变正版的福音。

下面是复制某大侠的资料(版权属原作者):
[color=blue]1、空中升级过程
空中升级时,发送软件升级BAT(Bouquet Association Table,业务群关联表)中,应包含链接描述符(Linkage descriptor),专用机的应用软件一直监测BAT,当其版本号发生变化时,会自动解析链接描述符中映射的制造商标识、硬件标识、软件标识、机器序列号等各项参数,判断是否有适合本机的升级软件。如果有适合本机的升级软件,则根据链接描述符的相关信息人NIT(Network Information Table,网络信息表)中获取升级软件所在的转发器参数,并将转发器参数和对应的service_id及新版本软件存储在RAM中,存储完成后,根据链接描述符中的相关信息,弹出升级提示界面,按“确定”按钮,可立即重启机器并进行升级软件下载;按“返回”按钮,则待下次开机时进行下载。
启动下载后,下载器(Downloader)首先解析PAT(Program Allocation Table,节目关联表),根据与RAM中听service_id相同的Program number(节目编号)来定位软件升级PMT(Program Map Table,节目映射表)的PID,然后根据其中的数据广播标识描述符中映射的相关参数找到与本机相对应的软件升级业务的PID;定位升级业务的PID 后,下载器解析与该PID对应的TS包中的下载数据表,从这些下载数据表中获取相应的升级数据后,专用机的终端软件通过刷写PLASH芯片实现对软件数据的升级。

2、FLASH芯片存储数据结构
中星9号直播卫星专用机程序存储器FLASH芯片中各个部分存储数据的结构:
其中[Starter]为Loader启动模块,负责系统启动、代码校验以及下载判断,位于FLASH芯片的OTP(One Time Programable,一次性可编程)区域;[DownLoader]为Loader下载模块,负责应用软件的下载升级操作;[Terminal Device Information]为专用机设备信息;[flash Header]为Flash头,存储专用机上次下载成功的参数列表和应用软件信息;[Application Software]为应用软件代码;[User Date]除了可写Flash头和应用软件代码之外的所有用户数据。

在[Terminal Device Information]专用机设备信息数据结构中,“operator_number为运营商代码;“manufacture_id”为专用机制造商标识,由运营商分配;“hardware_id”为专用机的硬件平台标识;“model_id”专用机型号标识,用于区分同一专用机硬件平台的不同批次;“STB_id”为专用机的唯一序列号标识,由运营商给各个制造商统一分配序列号段;“loader_version”为Loader的版本号;“reserved_future_use”为预留位置,供将来使用;“WP_Flash_CRC32”为写保护区中除最后4个字节目之外所有数据的 CRC32值。
在[flash Header]专用机上次下载成功的参数列表和应用软件信息数据结构中,“software_versoion”为上次成功升级的应用软件的版本号,应用软件的版本信息从这个字段得到,“download_time_date”为上次成功升级的时间,包含了日期和时间信息,分别是UTC和MJD格式;“download_service_id”为上次成功升级时,下载软件所在的service_id;“last_download parameters”为上次成功升级的调谐参数;“default_download parameters”为4组默认的调谐参数,每次成功升级之后根据NIT表更新;“AS_CRC32”为应用软件代码的CRC32 值;“reserved_future_use”为预留位置,供将来使用;“Flash_Header_CRC32”为Flash Header区中除最后4个字节之外所有数据的CRC32值。[/color]

我的BIN与正版海尔的BIN只有面板上的差异。求高人破解替换相关代码。
[url]http://bbs.lcdhome.net/read-htm-tid-27105-keyword-.html[/url]