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

自搜算法及代码的一点发现,恳请各路高手帮助分析 [复制链接]

楼层直达
whm6857  
级别: 中级会员
发帖
246
精华
0
金币
497
威望
22
贡献
0
好评
49
注册
2010-02-06
楼主    whm6857 发表于: 2010-05-14 17:40:25 
受占线的启发,解压华亚自搜bin中的MAINCODE,和不能自搜的老BIN对比发现自搜算法代码。找法是在MAINCODE中查找十六进制“7815650D”,经过XX次的刷机证实,可以基本得出如下推测:
  1.自搜的算法并不是可执行的语句,而是像资源一样放在BIN中,华亚为4000H字内容,阿里为2000H字节,海尔为2000H字节(参看25楼BYZX的研究)。
  2.自搜BIN中的算法并没有变,台不是搜出来的,而只是启用某种PID而已。
  3.空升前在每个台的数据流中已包含它的PID数据,自搜时只要提取PID数据就行了,而不是像大锅的盲扫一样。而现在GD只在那12个台中保留了PID数据,而别的台取消了,取而代之的是数据标识字,不能自搜的BIN中没有这部分,也就收不到了,能自搜的有标识字对应的PID,只要把对应的PID提出来就搜到台了。
  4.从某个意义上,以后如果有新的算法出来,只要提取正版机中的相应表,替换到自搜BIN中,就能实现自搜了(引用OP2010的话)。
  5.这一部分可能就不分段,刷机实验证明。

目前只找到了华亚、海尔和阿里的算法,希望高手帮忙,把其它的机型的算法找到,为以后空升做准备。

以下为个人刷机试验后的观点(基本上都是推测):

1.大锅搜台用的盲扫,能做到音图完美,可能是因为先找到图码,再往下找到音码,这个音码就是和上面的台配套的,这可能要归功于大锅信号很有规则。但它是按顺序搜的,所以台有点乱。

2.GD为了让小锅收不到台,打乱了台和音的顺序,明明不是一个台的图和音,却被放在了一起,所以才收到了音图不对的台。其实这种搜台算法就是盲扫。(因为就算去掉了算法这部分,一样可搜到音图不对的46台)

3.GD为了让小锅收不到台,还把数据流里有的PID去掉了,取而代之的是标识字,如果调用标识字表(就是我们找到的算法),就可以收到完美的46台了(就是用超密)。(去掉算法,用超密一个台都收不到,也就是说用什么密码都可收到完美46台的BIN是有缺陷的,抗升级能力较弱)

4.AVL1118的台顺序不对,估计用的就是盲扫,只不过比盲扫更高一级。所以虽然台号乱,但抗升级能力更强。

5.VS2000中的特殊搜索,估记和AVL1118的算法差不多,也可能更为高级、更为复杂。

[color=orangered]现在有以下困难,无力解决,请各路高手帮忙:
    1,国芯机中找不到算法映射表。也可能国芯中只有一种算法且不是映射表,渴望有两种算法的国芯BIN出现。
    2,除算法映射表外的另一种算法找不到,(是俺就没有能力找到)。[/color]
   
  [color=royalblue]看了你的贴子,找到了78156005。我把不能自搜的BIN和自搜的BIN比较了一下,其中这一段首尾都一样,只是自搜的BIN比不自搜的BIN硬生生多出了4008个字节(16进制,好像64行一个内容),我是不是可以这样理解:自搜的算法并不是可执行的语句,而是像资源一样放在BIN中,也就是这多出来4008字内容,如果真是这样就好了,我们是不是可以像换节目表一样的换自搜算法。
  再一个我实在不明白你是如何找到78156005的,不要说是乱试的,那和在太平洋中找一大头针没什么区别。
  好像可以分为16部分,每部分1024字节,我分出了两部分,一个是第一种算法,一个是第6种算法,也就是现在正用的,大家看看对吗?如果是这样的话,那么不能自搜的BIN中就没有一种算法了,因为其总长度就没有1024字节,也就是说一种都加不进去。期望高手出现!
  以下是在占线理解的基础上的推测:小锅信号是加了密的,但搜索的算法并没有变,所以就算是正品机也不可能搜到台,只是在BIN加16种PID。可以这样说:台不是搜出来的,而只是启用某种PID而已。期盼有人提供正品机空升前和空升后的BIN,对比一下就可以确定了。
  我认为,山寨厂商并不是提前就知道变更表并植入了文件里,而是从正品机里提出的。
  试验一:把第一种和第6种位置对换,自搜正常。说明不是以位置标识,而是有算法标识字的存在(吹牛的)
  试验二:把算法标识字15部分改为10,自搜46台,湖北黑屏,四川无声,宁夏声不对。(图1)
  试验三:把不能自搜的BIN,后面的114字节换掉,自搜12台,无广播,说明后面的是4套广播的算法,也说明它本身并无电视算法。(图2)
  推测:在每个台的数据流中已包含它的PID数据,自搜时只要提取PID数据就行了,而不是像大锅的盲扫一样。而现在GD只在那12个台中保留了PID数据,而别的台取消了,取而代之的是数据标识字,不能自搜的BIN中没有这部分,也就收不到了,能自搜的有标识字对应的PID,只要把对应的PID提出来就搜到台了。
  既然GD一次空升就加入了16套算法,那么他就是想一劳永逸,以后就只从这16种算法中选就可以了。我们也可以放心了,GD不会频繁空升的,就算是空升了,我们也可以在XX分钟内做出可自搜的BIN。不过这样还是少不了要刷机的,最王道的提取澜起BIN中的盲扫到别的山机中,这样才能一劳永逸。
  更正以上的错误:把这段代码分为16份是错误的,经一段一段的刷机测试(其它地方用0填充),发现每一段都是能搜到2-3个台(那12台除外,它们总是能搜到),有的台还没声音,有的台只有声音,所以可以认定以上分法是错误的,它就是一个整体,也可能是按台来分的,但没找到分的方法和规律.[/color][color=silver][/color]
本帖最近评分记录: 15 条评分