-------------------------------------------------------------------------------------------------------------- 官方11月24日封堵了這個(gè)漏洞(/usr/sbin/datacenter,、shareUpdate),,破解需要使用之前舊版固件,。 這里提供 小米路由器mini 新版本的穩(wěn)定版root固件(默認(rèn)開啟SSH)。 -------------------------------------------------------------------------------------------------------------- 感謝原創(chuàng)作者 @噠噠噠知了 由于他的是硬盤版,,目錄和mini的稍有不同,,我修改了一下路徑適配了mini,青春版由于沒有usb接口不能用,。 三種版本都支持: release 穩(wěn)定版 stable 開發(fā)版 current 內(nèi)測版 本人mini穩(wěn)定版 2.6.11 開發(fā)版 2.7.11 2.7.40 全部測試通過,! 破解開啟SSH: 1:安裝 python (32和64二選一) Windows 64位 https://www./ftp/python/3.5.0/python-3.5.0-amd64.exe Windows 32位 https://www./ftp/python/3.5.0/python-3.5.0.exe (Windows XP 使用python 3.4.3) 并安裝requests模塊 pip install requests 2:任意版本固件(建議先恢復(fù)出廠設(shè)置)初始化后登陸路由器, 地址欄url類似下面這樣: http://192.168.31.1/cgi-bin/luci/;stok=e00b01a819d8a18b93d6cedb6f74d621/web/setting/upgrade 把你登陸成功的stok值復(fù)制一下(stok值每一次都不一樣),, 3:mini需要準(zhǔn)備一個(gè)U盤插入路由器,,硬盤版跳過。 4:解壓附件 本帖隱藏內(nèi)容 注意事項(xiàng): 1:stok值得是你登陸成功后的,,關(guān)閉網(wǎng)頁或重啟就失效 2:IP是192.168.31.1 如果不是自己修改py腳本 3:如果想顯示詳細(xì)返回信息,,就用文本編輯器打開.py腳本,,把里面 #print (req.content) 前面的 # 號(hào)刪除(一共有4處) 4:腳本里寫的是sda1,由于U盤分區(qū)的不同或多次插拔,,掛載點(diǎn)會(huì)順延成sdb1,、sdc1或sda4、sdb4等等,, 會(huì)導(dǎo)致不成功,,需要自己修改py腳本里的路徑,或者最簡單的辦法就是 重啟,,換U盤,。 (操作成功返回信息:"code": 0 如果提示:not exist ext device 就是掛載點(diǎn)不是sda1) 下載附件xiaomi.zip( 2.28 KB ) (我在腳本里面增加了修改默認(rèn)密碼為admin,建議用文本編輯器打開payload改成你自己的),, 硬盤版運(yùn)行mi.py,,mini運(yùn)行mini.py, 出現(xiàn)提示后右鍵粘貼你的stok值,,回車,,等待操作完成后,重啟后生效,。 目前(2015.11.19)官方發(fā)布的版本全部通殺,,這個(gè)漏洞將來肯定會(huì)補(bǔ),以后封了降級(jí)舊版再開啟就是了,。 做人要厚道,,轉(zhuǎn)載請(qǐng)注明! ------------------------------------------------------------------------------------------------ 普通用戶和硬盤版用戶可以不用往下看了:) ------------------------------------------------------------------------------------------------- 詳細(xì)解讀: 這個(gè) python 破解腳本執(zhí)行了5個(gè)操作: 1:上傳payload到路由器可寫目錄 2:把/etc/rc.local重命名備份為/etc/rc.local.bak 3:復(fù)制payload到/etc/目錄 4:把payload重命名替換為/etc/rc.local 5:刪除可寫目錄下的payload rc.local里面的命令開機(jī)后會(huì)自動(dòng)執(zhí)行,,payload是原始rc.local增加了破解命令,, 原始rc.local內(nèi)容: payload內(nèi)容: 小米dropbear dropbear是一個(gè)小型的ssh服務(wù)器,啟動(dòng)方法:/etc/init.d/dropbear start 小米在dropbear啟動(dòng)腳本start段里增加了判斷,穩(wěn)定版不讓啟動(dòng)直接退出,,nvram參數(shù) ssh_en不是1也退出,, 而開了ssh官方就不保修,這樣確實(shí)降低了售后成本,,雖然各地的xiaomi之家執(zhí)行沒有那么嚴(yán)格,, 這下完美解決了,保修和開啟SSH能共存了,,再次感謝原創(chuàng)作者@噠噠噠知了 ------------------------------------------------------------------------------------------------------------------------- mini恢復(fù)SN: 本帖隱藏內(nèi)容 刷了newifi或者其他沒有適配mini的固件會(huì)覆蓋清空你的bdata信息(丟失SN),,會(huì)影響刷機(jī)和綁定 使用上述方法開啟SSH后可以使用官方的bdata程序恢復(fù)Bdata: PuTTY登陸后 先bdata show查看bdata信息 增加&修改命令:自己替換XXX bdata set model=R1CM bdata set color=101 bdata set CountryCode=CN bdata set SN=XXXXXXXXXXXX 設(shè)置默認(rèn)ssid并保存: setssid_fact model是型號(hào) bdata set color=101就是設(shè)置為白色,隨意更改,,顏色定義如下: 黑色100 -- 白色101 -- 橘色102 -- 綠色103 -- 藍(lán)色104 -- 粉色105 CountryCode是國家代碼(CN HK TW EN) SN填寫你路由背面的 默認(rèn)ssid的后綴是你的lan口MAC后4位大寫 輸入getmac eth會(huì)顯示lan口MAC 可以再次bdata show查看驗(yàn)證是否修改成功,。 這種方法修改的是Config分區(qū),修改后能正常使用綁定,,但是也有可能被清空,, Bdata分區(qū)保也存著SN等信息,,由于Bdata分區(qū)在官方固件下面是只讀的,如果想連Bdata一起修改就稍微有點(diǎn)麻煩了,, 如果下面的學(xué)不會(huì),,就用上面簡單的方法,,不提供遠(yuǎn)程協(xié)助: 1:pandorabox網(wǎng)站隨便下載一個(gè)固件,,stable下是穩(wěn)定版,testing下是測試版,,隨便下載一個(gè)版本,, 2:使用WinSCP工具把固件上傳到路由/tmp 目錄下, 3:在官方固件下面使用mtd程序刷入OS1,,xxxx是文件名: mtd write /tmp/xxxx.bin OS1 -r (自動(dòng)重啟后,,默認(rèn)ip:192.168.1.1 用戶名:root 密碼:admin ) 4:修改 Bdata.bin 里面的顏色、SN ,、默認(rèn)SSID ,、CRC32 注意的是CRC32反序填入,我以前發(fā)過帖子但現(xiàn)在進(jìn)不去了,, 使用WinHex就可以把Bdata文件造出來,,為了方便我把建好的空白Bdata模板傳上來了,,按照下面的圖片教程改就行了 下載附件Bdata.zip( 355 Bytes ) 圖片教程:點(diǎn)擊查看原圖能清楚一點(diǎn) 5:使用WinSCP把修改好的Bdata.bin傳到/tmp目錄 使用mtd程序刷入Bdata mtd write /tmp/Bdata.bin culiang-Bdata 刷完以后就可以用官方方法U盤刷回 完美修復(fù)。
再次提醒 mini用戶:不要隨便刷別人備份的編程器固件,,如果使用了非本機(jī)的eeprom(比如刷了別人備份的編程器固件) 就把你本機(jī)原來的Factory(eeprom)分區(qū)覆蓋了,,使用別人的參數(shù)你的芯片不能發(fā)揮最優(yōu)性能, 無線信號(hào)會(huì)受影響,,可能無線會(huì)變的非常糟糕,!
|
|