バージョン偽装

LS-LGL

カーネルにパッチをあててバージョンをあげていくことに 失敗した「偽」餅屋は、 偽装に走ることにした。

Makefile の偽装

[yasunari@junk linux-feroceon_2_1_10]$ mv Makefile{,.orig}
[yasunari@junk linux-feroceon_2_1_10]$ cp Makefile.orig Makefile
[yasunari@junk linux-feroceon_2_1_10]$ vi Makefile
[yasunari@junk linux-feroceon_2_1_10]$ diff -c Makefile.orig  Makefile
*** Makefile.orig       Fri Jun 15 13:50:22 2007
--- Makefile    Fri Jan 11 14:21:36 2008
***************
*** 1,7 ****
  VERSION = 2
  PATCHLEVEL = 6
! SUBLEVEL = 12
! EXTRAVERSION = .6-arm1
  NAME=Woozy Numbat

  # *DOCUMENTATION*
--- 1,7 ----
  VERSION = 2
  PATCHLEVEL = 6
! SUBLEVEL = 23
! EXTRAVERSION = .fake_2.6.12.6-arm1
  NAME=Woozy Numbat

  # *DOCUMENTATION*
[yasunari@junk linux-feroceon_2_1_10]$

偽カーネルのコンパイル

[yasunari@junk linux-feroceon_2_1_10]$ PATH=$PATH:/opt/arm-2005q3-2/bin:/opt/arm-2005q3-2/libexec/gcc/arm-none-linux-gnueabi/3.4.4
[yasunari@junk linux-feroceon_2_1_10]$ export PATH
[yasunari@junk linux-feroceon_2_1_10]$ make uImage
  CHK     include/linux/version.h
  UPD     include/linux/version.h
  SYMLINK include/asm -> include/asm-arm
  HOSTCC  scripts/basic/fixdep
	:
	:
  Kernel: arch/arm/boot/zImage is ready
  UIMAGE  arch/arm/boot/uImage
Image Name:   Linux-2.6.23.fake_2.6.12.6-arm1
Created:      Fri Jan 11 22:15:40 2008
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    1284048 Bytes = 1253.95 kB = 1.22 MB
Load Address: 0x00008000
Entry Point:  0x00008000
  Image arch/arm/boot/uImage is ready
[yasunari@junk linux-feroceon_2_1_10]$

実験用 HDD を 玄箱/Pro の /tmp/boot にマウント

kup:~# mkdir /tmp/boot
kup:~# mount /dev/sdb1 /tmp/boot
kup:~# cd /tmp/boot
kup:/tmp/boot# mv uImage.buffalo uImage.buffalo_2.6.13_NG
kup:/tmp/boot# 

uImage を玄箱/Pro に転送

uImage uImage.buffalo に rename

kup:/tmp/boot# mkimage -l uImage
Image Name:   Linux-2.6.23.fake_2.6.12.6-arm1
Created:      Fri Jan 11 22:15:40 2008
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    1284048 Bytes = 1253.95 kB = 1.22 MB
Load Address: 0x00008000
Entry Point:  0x00008000
kup:/tmp/boot# mv uImage uImage.buffalo
kup:/tmp/boot#

アンマウント、シャットダウン

kup:/tmp/boot# cd /
kup:/# umount /tmp/boot
kup:/# shutdown -h now

実験用 HDD を LS-LGL に接続

LS-LGL 起動


BUFFALO INC. LinkStation series LS-LGL(SUIZEI)
LS-LGLFF7 login: root


BusyBox v1.1.1 (2007.11.12-13:48+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ # uname -a
Linux LS-LGLFF7 2.6.12.6-arm1 #4 Tue Nov 13 11:16:02 JST 2007 armv5tejl unknown
~ # cat /proc/version
Linux version 2.6.12.6-arm1 (root@build.dd-hot24.nas.buffalo.local) (gcc version 3.4.4 (release) (CodeSourcery ARM 2005q3-2)) #4 Tue Nov 13 11:16:02 JST 2007
~ # d
あれ?
なんで、2.6.12.6-arm1 ?

LS-LGL 再起動

再起動してみる。

今度は、

[yasunari@giga tmp]$ telnet whi
Trying 192.168.2.41...
telnet: connect to address 192.168.2.41: Connection refused
[yasunari@giga tmp]$


LS-L250GL
楽天市場
Amazon
Yahoo! ショッピング
Sofmap
TSUKUMO ネットショップ
ValuMore!
ムラウチドットコム
uWorks
パソQ


I'm here(2)
ハックの記録
LinkStation/玄箱 をハックしよう

LS-WTGL/R1シリーズ ファームウェア アップデータ Ver.1.02

Copyright (C) 2003-2008 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市