MZK-WNH(OpenWrt)に潜むEdimaxヘッダー20バイトの罠
2015年8月31日(月) 01:33 JST
閲覧数 5,734
MZK-WNHに潜んでいるEdimaxヘッダー20バイトの罠について少しメモをしておこうと思います。
メーカー製ルータにありがちな独自ヘッダー付加による、ファームの書換えロックですが、MZK-WNHはかなり変態仕様である。
管理画面のアプリ側でチェックして、Flashには独自ヘッダーを削った形で書き込む方がスマートに思えるのだが、MZK-WNHはEdimaxヘッダーも含めてFlashに書き込むという仕様で、かつ書き込まれているu-bootはこのヘッダーが必要という訳ではない仕様であるという不思議が存在している。
このEdimaxヘッダーの為に、どれほどのMZK-WNHが文鎮として扱われてしまったのだろうか。

MZK-WNH文鎮化生成機能として働いたEdimaxヘッダー20バイトは以下の様な20バイトの事をいいます。(正確にはu-bootは生きているし、WPSボタン押しながらの復旧はできるので文鎮ではないが)
CSYSから始まり、固定システム名称が入る、解析済みのヘッダー構造でOpenWrtでもfactoryイメージを生成できるものの、2015/08/29時点でのtrunkではヘッダーは生成するものの、rootfsの位置をヘッダ分ずらせずにrootfsマウントに失敗します。
この結果を元に綺麗なパッチが生まれる事があれば良いのですが。。。
他のデバイスへの影響が生まれない様なパッチが思い浮かばなかったので、とりあえず起動できる段階までのパッチを載せておこうかと思います。
メーカー製ルータにありがちな独自ヘッダー付加による、ファームの書換えロックですが、MZK-WNHはかなり変態仕様である。
管理画面のアプリ側でチェックして、Flashには独自ヘッダーを削った形で書き込む方がスマートに思えるのだが、MZK-WNHはEdimaxヘッダーも含めてFlashに書き込むという仕様で、かつ書き込まれているu-bootはこのヘッダーが必要という訳ではない仕様であるという不思議が存在している。
このEdimaxヘッダーの為に、どれほどのMZK-WNHが文鎮として扱われてしまったのだろうか。

MZK-WNH文鎮化生成機能として働いたEdimaxヘッダー20バイトは以下の様な20バイトの事をいいます。(正確にはu-bootは生きているし、WPSボタン押しながらの復旧はできるので文鎮ではないが)
CSYSから始まり、固定システム名称が入る、解析済みのヘッダー構造でOpenWrtでもfactoryイメージを生成できるものの、2015/08/29時点でのtrunkではヘッダーは生成するものの、rootfsの位置をヘッダ分ずらせずにrootfsマウントに失敗します。
00010203 04050607 08090A0B 0C0D0E0F 0123456789ABCDEF 000000 43535953 00000C00 00000500 524E3532 CSYS........RN52 000010 06002C00 ..,.意外にも気が付くのに時間を取られてしまったので、このヘッダーにより発生する問題と、調べた結果をメモしておきます。
この結果を元に綺麗なパッチが生まれる事があれば良いのですが。。。
他のデバイスへの影響が生まれない様なパッチが思い浮かばなかったので、とりあえず起動できる段階までのパッチを載せておこうかと思います。







