[yasunari@giga hdlan213a]$ strings HD-LAN\ FWUpdate.exe | less : FIRMWARE \firmimg.bin \hdlan_version.txt \hdlan_diffimg.tar.gz :予想通り、hdlan_version.txt と hdlan_diffimg.tar.gz という 文字列が見えるのだが、その前に firmimg.bin も見える。
[yasunari@giga hdlan213a]$ strings HD-LAN\ FWUpdate.exe | less : HD-LAN(IEYASU) FLASH 1.1 vmlinux :といういつもの並びも見える。
ところが、hdlan_diffimg.tar.gz が入っている形跡が見えない。
gzip してあるファイルなら、0x1f8b というマジックナンバーがあって、
その 10 バイト後に hdlan_diffimg.tar という文字列があるはずなのだが、、、
[yasunari@giga hdlan213a]$ tail -c 3055968 HD-LAN\ FWUpdate.exe > firmimg.bin続いて、ファームウェア取り出しツールにかける
[yasunari@giga hdlan213a]$ /home/linkstation/getfirm/getfirm firmimg.bin info_ver 00000001 firmid 00000002 firmname HD-LAN(IEYASU) subver FLASH 1.1 ver_major 0002 ver_minor 000d build 0000 date 6805 1215 1613 size 002e96bb chksum d83a6a1a kernel_offset 0000006c(108) kernel_size 000b8ede(757470) initrd_offset 000b8f4a(757578) initrd_size 00230771(2295665)「家康」なら、私でもわかるぞッと。
ramdisk.image.gz を展開する
[yasunari@giga hdlan213a]$ ls -l 合計 20080 -rwxrw-r-- 1 yasunari root 7258112 May 31 16:09 HD-LAN FWUpdate.exe* -rwxrw-r-- 1 yasunari root 8364 May 31 16:26 README.TXT* -rwxrw-r-- 1 yasunari root 3055968 Jul 1 22:21 firmimg.bin* -rwxrw-r-- 1 yasunari root 7138237 Jul 1 22:11 hdlan213a.exe* -rw-r--r-- 1 yasunari root 2295665 Jul 1 22:21 ramdisk.image.gz -rw-r--r-- 1 yasunari root 757470 Jul 1 22:21 vmlinux.gz [yasunari@giga hdlan213a]$ gunzip ramdisk.image.gz [yasunari@giga hdlan213a]$ [yasunari@giga hdlan213a]$ su Password: [root@giga hdlan213a]# mkdir root [root@giga hdlan213a]# mount -o loop ramdisk.image root [root@giga hdlan213a]# cd root [root@giga root]# ls bin dev etc lib lost+found mnt mnt2 proc root sbin tmp usr var www [root@giga root]# tar zcvf ../root.tar.gz . ./ ./lost+found/ ./bin/ : : [root@giga root]# cd .. [root@giga hdlan213a]# umount root [root@giga hdlan213a]# cd root [root@giga root]# tar zxvf ../root.tar.gz ./ ./lost+found/ ./bin/ : :
と途方にくれていたが、、、、
[yasunari@giga hdlan213a]$ strings HD-LAN\ FWUpdate.exe | less : FIRMWARE \firmimg.bin \hdlan_version.txt \hdlan_diffimg.tar.gz :と、 hdlan_version.txt と hdlan_diffimg.tar.gz とが 並んでいるので、hdlan_version.txt の近くにあるのではないだろうか。
[yasunari@giga hdlan213a]$ od -xc HD-LAN\ FWUpdate.exe | less : : 0164500 0000 0000 2573 2056 6572 2573 0000 0000 \0 \0 \0 \0 % s V e r % s \0 \0 \0 \0 0164520 322e 3133 6100 0000 5753 4149 6f63 746c 2 . 1 3 a \0 \0 \0 W S A I o c t l 0164540 0000 0000 5753 4153 6f63 6b65 7441 0000 \0 \0 \0 \0 W S A S o c k e t A \0 \0これは違う
0235400 0000 0100 0000 0000 5052 4f44 5543 544e \0 \0 001 \0 \0 \0 \0 \0 P R O D U C T N 0235420 414d 453d 4844 2d4c 414e 2849 4559 4153 A M E = H D - L A N ( I E Y A S 0235440 5529 0a56 4552 5349 4f4e 3d32 2e31 330a U ) \n V E R S I O N = 2 . 1 3 \n 0235460 5355 4256 4552 5349 4f4e 3d48 4444 2032 S U B V E R S I O N = H D D 2 0235500 2e30 2853 4a49 5329 0a50 524f 4455 4354 . 0 ( S J I S ) \n P R O D U C T 0235520 4944 3d30 7830 3030 3030 3030 320a 4255 I D = 0 x 0 0 0 0 0 0 0 2 \n B U 0235540 494c 4444 4154 453d 3230 3034 2f30 352f I L D D A T E = 2 0 0 4 / 0 5 / 0235560 3235 2030 393a 3431 3a31 320a 0000 0000 2 5 0 9 : 4 1 : 1 2 \n \0 \0 \0 \0 0235600 1f8b 0800 2896 b240 0003 ec9a 0bbc e653 037 213 \b \0 ( 226 262 @ \0 003 354 232 \v 274 346 Sこれだぁ!。思ったとおり、0235600 には 1f8b も見える。
[root@giga hdlan213a]# tail -c 7177344 HD-LAN\ FWUpdate.exe | tar ztvf - drwxr-xr-x root/root 0 2003-08-08 15:51:28 ./ drwxrwxr-x root/root 0 2004-05-17 13:15:25 ./bin/ : : ./var/dhcp/ gzip: stdin: decompression OK, trailing garbage ignored tar: 子プロセスがシグナル 13 で終了しました tar: 処理中にエラーが起きましたが、最後まで処理してからエラー終了させましたよーし。
← | ハックの記録 | → HD-LAN V2 のファームウェア(2) |