BS再編でトバッチリ、バイナリとにらめっこ

4/16のBSジャパンのトランスポンダ移動は無視してたんだが、今回5/8のBSプレミアムは放ってはおけない。トラポン移動は今後も続くらしいが、ばっちり分かったので心配はないぞっと。

PLEXで配布してあるCentOS用のモジュール(usb-px4.ko)を改造する。

[root@dtvserver ~]# md5sum Linux_Driver/Linux_Driver/usb-px4.ko 
135caf02941164099d96b1e2bbbeb79a  Linux_Driver/Linux_Driver/usb-px4.ko
[root@dtvserver ~]# readelf -S Linux_Driver/Linux_Driver/usb-px4.ko 
There are 47 section headers, starting at offset 0x440e68:

Section Headers:
  [Nr] Name              Type             Address           Offset
       Size              EntSize          Flags  Link  Info  Align
  [ 0]                   NULL             0000000000000000  00000000
       0000000000000000  0000000000000000           0     0     0

...snip...

  [23] .data             PROGBITS         0000000000000000  00048140
       0000000000015f20  0000000000000000  WA       0     0     64

...snip...

Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings)
  I (info), L (link order), G (group), x (unknown)
  O (extra OS processing required) o (OS specific), p (processor specific)

objdumpでダンプリストを出力してにらめっこ。

[root@dtvserver ~]# objdump -sj .data Linux_Driver/Linux_Driver/usb-px4.ko

肝心のデータは.dataセクションのオフセット0x300からと0x12C0からにある。アライメントは8バイト、リトルエンディアン。BS朝日から順に、トラポン(周波数0.1GHz単位)、0xc486(固定?)、TSIDと続いている。都合、1ch.あたり24バイトとなる。.dataセクションはオフセット0x48140なので、例えば、BSプレミアムの周波数を書き換えたいなら、usb-px4.koの先頭から0x48668を書き換えれば良い。

  0x00000300 78f2b200 00000000 c4860000 00000000 x...............
             11727480          34500             BS-1 (11.727480 GHz)
  0x00000310 10400000 00000000 78f2b200 00000000 .@......x.......
             16400             11727480          TS.16400: CH.151 BS ASAHI HV
  0x00000320 c4860000 00000000 11400000 00000000 .........@......
             34500             16401             TS.16401: CH.755 BS ASAHI DATA
  0x00000330 5088b300 00000000 c4860000 00000000 P...............
             11765840(d) =     34500             BS-3 (11.765840 GHz)
  0x00000340 30400000 00000000 5088b300 00000000 0@......P.......
             16432             11765840          TS.16432: CH.191, 791 WOWOW HV

                    0x48488 -> 78f2b200
                               
  0x00000350 c4860000 00000000 31400000 00000000 ........1@......
             34500             16433             TS.16433: CH.171, 777 BS Japan HV

                    0x48498 -> 1240

  0x00000360 281eb400 00000000 c4860000 00000000 (...............
             11804200          34500             BS-5 (11.804200 GHz)
  0x00000370 50440000 00000000 281eb400 00000000 PD......(.......
             17488             11804200          CH.192 WOWOW Live HV
  0x00000380 c4860000 00000000 51440000 00000000 ........QD......
             34500             17489             CH.193 WOWOW Cinema HV
  0x00000390 00b4b400 00000000 c4860000 00000000 ................
             11842560          34500             BS-7 (11.842560 GHz)
  0x000003a0 70440000 00000000 00b4b400 00000000 pD..............
             17520             11842560          CH.201 Star2 HV
  0x000003b0 c4860000 00000000 70440000 00000000 ........pD......
             34500             17520             CH.202 Star3 HV
  0x000003c0 00b4b400 00000000 c4860000 00000000 ................
             11842560          34500
  0x000003d0 71460000 00000000 00b4b400 00000000 qF..............
             18033             11842560          CH.236 Animax HV
  0x000003e0 c4860000 00000000 72460000 00000000 ........rF......
             34500             18034             CH.256 Disney
  0x000003f0 d849b500 00000000 c4860000 00000000 .I..............
             11880920          34500             BS-9 (11.880920 GHz)
  0x00000400 90400000 00000000 d849b500 00000000 .@.......I......
             16528             11880920          CH.211 Eleven HV
  0x00000410 c4860000 00000000 91400000 00000000 .........@......
             34500             16529             CH.200 Star1 HV
  0x00000420 d849b500 00000000 c4860000 00000000 .I..............
             11880920          34500
  0x00000430 92400000 00000000 b0dfb500 00000000 .@..............
             16530             11919280          CH.222 TwellV HV, BS-11 (11.919280 GHz)
  0x00000440 c4860000 00000000 b0460000 00000000 .........F......
             34500             18096             CH.238 FOX HV
  0x00000450 b0dfb500 00000000 c4860000 00000000 ................
             11919280          34500
  0x00000460 b1460000 00000000 b0dfb500 00000000 .F..............
             18097             11919280          CH.241 SkyPerfect! HV
  0x00000470 c4860000 00000000 b2460000 00000000 .........F......
             34500             18098             CH.231 HosoDaigaku1 HV
  0x00000480 b0dfb500 00000000 c4860000 00000000 ................
             11919280          34500
  0x00000490 b2460000 00000000 b0dfb500 00000000 .F..............
             18098             11919280          CH.232 HosoDaigaku2 HV
  0x000004a0 c4860000 00000000 b2460000 00000000 .........F......
             34500             18098             CH.233 HosoDaigaku3 HV
  0x000004b0 b0dfb500 00000000 c4860000 00000000 ................
             11919280          34500
  0x000004c0 b2460000 00000000 8875b600 00000000 .F.......u......
             18098             11957640          CH.531 HosoDaigaku Radio, BS-13 (11.957640 GHz)
  0x000004d0 c4860000 00000000 d0400000 00000000 .........@......
             34500             16592             CH.141 NTV HV
  0x000004e0 8875b600 00000000 c4860000 00000000 .u..............
  0x000004f0 d1400000 00000000 600bb700 00000000 .@......`.......
                               11996000          CH.181 Fuji HV, BS-15 (11.996000 GHz)
  0x00000500 c4860000 00000000 f1400000 00000000 .........@......
                               16625             CH.101 NHKBS1 HV
  0x00000510 600bb700 00000000 c4860000 00000000 `...............
  0x00000520 f1400000 00000000 600bb700 00000000 .@......`.......
             16625             1199600

                       0x48668 -> 5088b300

  0x00000530 c4860000 00000000 f2400000 00000000 .........@......
                               16626             CH.103 NHK BSPremium HV

                       0x48678 -> 3140

  0x00000540 600bb700 00000000 c4860000 00000000 `...............
  0x00000550 f2400000 00000000 38a1b700 00000000 .@......8.......
             16626             12034360          BS-17 (12.034360 GHz)
  0x00000560 c4860000 00000000 10430000 00000000 .........C......
                               17168             CH.291 NHK General (Tokyo)
  0x00000570 38a1b700 00000000 c4860000 00000000 8...............
  0x00000580 10430000 00000000 38a1b700 00000000 .C......8.......
             17168                               CH.292 NHK Education (Tokyo)
...snip

0x12c0からはチャンネル情報。1ch.あたり8バイト。

  0x000012c0 00000000 00000000 00000000 01000000 ................
  0x000012d0 01000000 00000000 01000000 01000000 ................

                    0x49418 -> 00       02       BSJ

  0x000012e0 02000000 00000000 02000000 01000000 ................
  0x000012f0 03000000 00000000 03000000 00000000 ................
  0x00001300 03000000 01000000 03000000 02000000 ................
  0x00001310 04000000 00000000 04000000 01000000 ................
  0x00001320 04000000 02000000 05000000 00000000 ................
  0x00001330 05000000 01000000 05000000 02000000 ................
  0x00001340 05000000 02000000 05000000 02000000 ................
  0x00001350 05000000 02000000 06000000 00000000 ................
  0x00001360 06000000 01000000 07000000 00000000 ................
  0x00001370 07000000 00000000 07000000 01000000 ................

                    0x494b8 -> 01       01       BSP

  0x00001380 07000000 01000000 08000000 02000000 ................
  0x00001390 08000000 02000000 08000000 01000000 ................
  0x000013a0 08000000 01000000 08000000 01000000 ................

今回の改造でBSジャパンBSプレミアムともにオーケー。改造後のハッシュ。

[root@dtvserver ~]# md5sum /usr/lib64/usb-px4.ko 
72f3ddfb9652b502192530c935cbeb38  /usr/lib64/usb-px4.ko


参考にしたサイト