優酷路由寶曾經非常火熱,市場保有量非常大,現在基本已經涼透了,人們基本都拿來刷其他第三方固件使用了。這款無線路由器的閃存是32M,內存128M,加上該路由器CPU型號是MT7620,很多利用這個CPU的路由器固件幾乎都可以刷入優酷路由寶。下圖是其中一種型號。
前面發文章介紹過,路由寶root方法,簡單概況一下:電腦連接路由器(此處及後文的路由器就是指優酷路由寶),打開管理頁面,點開手動升級刷入已經開telnet的固件,升級完成重啟後就root了,以後可以telnet登錄了。打開xshell軟件用telnet方式登錄路由器,如下圖所示。
登錄路由器後,輸入命令 cat /proc/mtd 通過/proc虛擬文件系統讀取MTD分區表。從回顯信息,可以看到各分區佔用的存儲空間大小。其中mtd3對應的名稱Factory就是路由器無線校準信息和MAC地址信息(就是路由器的eeprom),可以通過命令備份。mtd4對應的名稱firmware就是路由器的固件(相當於操作系統)。如下圖所示。
以上是正常工作的路由器中獲取的信息,我們下面看一下如何利用以上信息,修復壞掉的路由寶(人們把損壞不能啟動的路由器稱為磚,修復過程稱為救磚)。拆開壞掉的路由器,利用編程器讀取閃存信息,存為編程器固件full.bin。用winhex軟件打開full.bin,截取偏移量40000到4FFFF(對應上圖中size=10000)一段,存為eeprom.bin,這就是路由器的無線校準信息,修復時需要該文件。
學會了如何從編程器固件截取eeprom文件,我們再來看截取固件辦法。從MTD分區表我們看到mtd1佔用size=30000,mtd2佔用size=10000,mtd3佔用size=10000,mtd4是固件佔用size=ff0000。這樣mtd1到mtd3共佔用size=50000,之後的mtd4就應該從50000到ffffff(50000+fb0000)。我們截取編程器固件中的這一段存為firmware.bin(這就是路由器的固件)。
這樣,我們就從編程器中截取了eeprom文件和路由器固件。在路由器修復救磚過程中,最主要的就是eeprom文件,此文件丟失後,路由器會丟失無線信號,路由器無Mac地址會導致無法聯網等故障。而路由器成磚後,要麼是引導區損壞無法啟動,要麼是閃存信息丟失,此時可以從別人備份的編程器固件截取eeprom恢復(這樣可能會使路由器無線信號減弱等,但至少可用)。無線路由器刷機中,Breed詳細使用教程,一些注意事項
通過以上介紹,可以看出關鍵是通過/proc虛擬文件系統讀取MTD分區表找到最關鍵的eeprom信息存儲位置,並從編程器固件中截取出來,對路由器救磚來說這是最關鍵的,也是能否成功救磚的祕籍所在。後續再發文介紹一下如何,從別人的eeprom文件中,修改SN和MAC地址,完美救磚。
歡迎關注,評論區交流經驗。
本文系作者原創,版權所有,未經許可禁止轉載。