路由器固件反編譯
『壹』 路由器固件如何打開源碼
有時因為某種原因可能要把路由器恢復出廠設置,但忘了密碼,路由器裡面顯示的是*號,當然我們可以把ADSL帳號記下來,然後打96861查,電信是要求提供一些申請資料的,但是有時寬頻也許並不是你申請的,問來問去很麻煩,有可能還問不明白,還不如自己動手破解。
原理:寬頻設備信息存儲在路由器的固件里,用查看源代碼的方法可以得到我們想要的密碼。
步驟:1、備份備份系統設置信息,這個一般在路由器的管理工具里。
D-Link的DI-504的為pro
file.bin (工具 → 系統設定 → 備份目前設定值),SMC的為SMCrouter_backup.bin(TOOLS → Configuration Tools → Backup to SMCrouter_backup.bin),TP-Link的一般為xxx.cfg(系統工具 → 備份和載入配置 → 備份配置文件) !當然有的不一定是這個步驟,但都差不多,意思就是把路由器里的設置都備份出來!(有的是config.bin的)
2、用Word打開備份的文件(當然你也可以用記事本打開,但會看似亂碼,不過也沒關系,下面操作一樣,就是不太好看)
你可以在Word中查找你的用戶名(用戶名在設置用WAN口中就有)找到用戶名後在用戶名後面的就是密碼了!也可以按Ctrl+F搜索PASS來到POE_PASS=xxxxxxxx這里,附近還有個POE_USER=adxxxxxxxx
這兩個就是密碼和用戶名了,你把它們記下來就可以了。
用戶名:adxxxxxxxx
SMC的直接就可以看到密碼和用戶名,一般在一個£符號後面
『貳』 怎麼反編譯D-Link路由器固件程序並發現它的後門
這個有點難,畢竟程序的本源就是那樣,不管你用什麼手段,只要破解者有耐心最後都有可能被攻克的,目前這類問題的解決方法都是設置相關許可權,加殼加密等,當然破解難度比較大的就是使用VM技術了,如果你們有足夠的時間和足夠的實力的話,可以自己開發一套指令系統用於你們的程序那麼會加重反編譯難度的~ 某種程度上說也是達到一種防止反編譯的做法~
『叄』 路由器刷固件
破解路由器 刷入Breed引導
1/2 分步閱讀
在開始前,我們來說一下整個刷入的流程:先通過Breed Web 助手給路由器刷入Breed引導,再通過Breed引導刷入第三方固件。Breed引導是相當於電腦的BIOS,只要給路由器刷入Breed引導後,可以隨便刷入第三方固件。在操作前,需要下載好第三方固件(第三方固件有: Padavan,Tomato Phoenix ,PandoraBox,OpenWRT),大家根據自己喜好選擇。至於Breed Web 助手大家可以自行搜索,下面開始操作。
2/2
將路由器通過網線連接到電腦,如果此前設置過路由器,請把路由器恢復出廠設置。在恢復出廠設置後,打開瀏覽器輸入路由器默認IP地址(小編這里是:192.168.2.1),看看是否能正常登陸到路由器設置界面,如果能關閉瀏覽器,進行下一步。找到下載好的Breed Web 助手,右鍵選擇「以管理員身份運行」(如果出現安全軟體阻止,請添加為信任,以防操作失敗),然後選擇刷機方案,大家根據自己路由器的品牌和型號選擇(小編選的是:k1,k1s,k2全自動方案),其他保持默認。接著點擊「開始刷機」按鈕,等待刷入完成。(一般都會一次性成功。如果中途出錯,只有重頭開始了)。當軟體提示「刷機完成」後,等待兩分鍾斷掉路由器的電源。
刷入固件
1.拔掉路由器電源,按住路由器重置按鈕,插上電源,等待10秒鍾左右。2.打開瀏覽器,輸入「192.168.1.1"回車,進入了Breed Web 控制台了。3.在界面的左側點擊「恢復出廠設置」,在固件類型選擇「Config區(公版)」然後點擊「執行」,等待執行完成。
2/2
然後在左側點擊「固件更新」,在右側常規固件下,勾選固件復選框,點擊「選擇文件」,添加准備好的固件。接著點擊「上傳」,確認上傳固件信息,點擊「更新」,等待完成(在完成之前,不要斷開路由器電源,不然路由器有變磚的可能)
『肆』 路由器怎麼刷固件
路由器刷固件的方法(以TP-LINK為例):
1、打開瀏覽器,輸入192.168.1.1(即路由器的IP地址)回車,輸入路由器帳號和密碼,點擊登錄(參見路由器盒子上的標簽或說明書)。
2、進入路由器管理界面後,在運行狀態中查看路由器當前的硬體版本。

『伍』 騰達路由器固件逆向
1、在瀏覽器 中輸入路由器的管理地址:192.168.0.1按回車鍵,在跳轉的頁面中輸入密碼 admin點擊「確定」;
2、點擊「高級設置」;
3、點擊「系統設置」-「升級」-「當前系統版本」即為路由器當前的軟體版本信息,確定路由器的當前系統版本是否可以升級你下載的軟體;
4、點擊「瀏覽」-選中正確的升級文件(事先下載解壓好的)-「升級」;
5、升級完成後路由器會進入自動重啟狀態;
6、升級完成後,參考第二步查看路由器當前系統版本是否已改變,若已經改變則證明升級已成功。
『陸』 路由器刷機dd-wrt固件方法有哪些
路由器系統構成了基於TCP/IP 的國際互聯網路Internet 的主體脈絡,也可以說,路由器構成了Internet的骨架。這篇文章主要介紹了dd-wrt固件怎麼刷 路由器刷機dd-wrt固件兩種方法分享,需要的朋友可以參考下
dd-wrt固件怎麼刷?路由器刷機dd-wrt固件兩種方法講解
用路由器自帶的Web配置界面刷新,也可以使用Tftp方法刷新。具體使用何種方法,根據路由器的不同請參照DD硬體支持列表選擇方法或者在網上看看網友的選擇。一般我優先使用Web刷新的方法,畢竟方便性第一。
順帶提一下,在網上購買支持DD的路由器可以要求賣家幫忙刷新路由器,不收費或者只是象徵性的收一點錢。例如貝爾金的路由器,從原廠固件到DD那是需要使用TFTP刷新的,菜鳥操作可能會麻煩些。
不過一旦升級到了DD,以後更新的時候可以通過Web界面進行。
採用Web刷新方法
請一定確認自己的路由器可否使用Web方式刷新,當然大部分路由器都可以這樣做。Web方式刷新其實就是路由器設置菜單裡面的“更新路由器固件”功能。雖然不是更新同廠的固件,但是也是可以用的,這種升級方式最為方便。
第一步: 確認路由器支持DD、沒有特別刷新方法的說明。本文以Linksys最廉價的WRH54G路由器為例子進行說明。很多人都說這么便宜的路由器不能刷DD,其實不對,2M的Flash和8M的RAM還是可以刷Micro版的,核心功能都有了,就是語言包和一些不常用到的功能沒有而已。
第二步:dd-wrtv3/dd-wrt/downloads.html下載適合路由器的固件。
依次展開V24 Sp1→Linksys→WRH-54G→點擊“dd-wrt.v24_micro_WRH54G.bin”下載(圖3)。同時最好准備一份路由器的原廠固件,以備恢復使用。
第三步:登錄Linksys的管理界面→固件升級,點擊“瀏覽”找到下載的DD-WRT固件。這款路由器提供兩種升級方式,一種是常規的“升級”,一種是“安全升級”(圖4)。
後者將進入Boot模式將新的固件載入到路由器上,可以避免內存不足而造成的失敗
如果提示刷新失敗,建議重啟路由器再進行刷新。如果重啟後還是失敗,那麼就得分析具體原因了,看看是不是版本不合適引起的。例如是不是固件太大了,超過路由器的容量;例如是不是更新程序不認這種固件格式等。
溫馨小貼士:下載的DD固件是bin為擴展名的,如果路由器升級不支持這種格式,試試看修改擴展名為支持的類型;建議使用有線方式連接路由器刷新;刷新期間不要干涉路由器,不要手動關閉路由器電源,一直等刷新結束再操作。也祈禱不要停電,呵呵。
採用TFTP刷新法
TFTP是Windows內置的一個命令提示符下運行的軟體。使用當然要在命令提示符下進行。使用TFTP刷新請使用網線把電腦和路由器的LAN口相連接。
第一步:確認路由器支持DD,且只能用TFTP的刷新方法。然後根據路由器型號、版本下載對應的DD固件。某些路由器刷DD使用TFTP有特別說明,例如華碩WL-500系列,請一定要仔細看DD官方主頁。
第二步:在開始菜單的運行中輸入CMD並回車進入命令提示符(XP為例)。輸入ipconfig /all了解當前的路由器的IP地址,一般默認都是192.168.1.1。建議手動分配一個地址,修改IP地址可以在控制面板→網路連接→本地連接→屬性→TCP/IP協議屬性中進行修改(圖5)。如果是手動設置IP地址,請設置和路由器同一個網段,例如使用192.168.1.2。
第三步:假設路由器IP是192.168.1.1,輸入命令ping -t 192.168.1.1 -t並回車。然後重啟路由器(通過Web界面),看看到有形如“Reply from 192.168.1.1 bytes=32 time=<1ms TTL=64”中斷回應之間大致需要多少秒的時間(圖6)。這個時間可以為下面步驟作參考。
第四步:因為需要在剛剛啟動的時候刷新,所以先輸入tftp -i 192.168.1.1 put dd-wrt.bin,但是不要按下回車。192.168.1.1是路由器IP,dd-wrt.bin是固件名稱。如果固件不在當前目錄下,需要使用全路徑,例如C:XXXXXXX.bin之類的路徑。如果路徑有空格,請使用“括弧”把路徑括起來。
重啟路由器(有的路由器非要使用Reset按鈕才能進入TFTP模式),約莫到了時間(參看STEP3:的步驟),按下回車。也有一種說法是看路由器指示燈,當所有指示燈一閃而滅的瞬間,按下回車輸入命令。成功之後會出現successful的提示,如果失敗請再來一遍。出現successful之後,需要耐心等待幾分鍾,不要進行任何操作,記住哦。
相關閱讀:路由器安全特性關鍵點
由於路由器是網路中比較關鍵的設備,針對網路存在的各種安全隱患,路由器必須具有如下的安全特性:
(1)可靠性與線路安全 可靠性要求是針對故障恢復和負載能力而提出來的。對於路由器來說,可靠性主要體現在介面故障和網路流量增大兩種情況下,為此,備份是路由器不可或缺的手段之一。當主介面出現故障時,備份介面自動投入工作,保證網路的正常運行。當網路流量增大時,備份介面又可承當負載分擔的任務。
(2)身份認證路由器中的身份認證主要包括訪問路由器時的身份認證、對端路由器的身份認證和路由信息的身份認證。
(3)訪問控制對於路由器的訪問控制,需要進行口令的分級保護。有基於IP地址的訪問控制和基於用戶的訪問控制。
(4)信息隱藏與對端通信時,不一定需要用真實身份進行通信。通過地址轉換,可以做到隱藏網內地址,只以公共地址的方式訪問外部網路。除了由內部網路首先發起的連接,網外用戶不能通過地址轉換直接訪問網內資源。
(5)數據加密
為了避免因為數據竊聽而造成的信息泄漏,有必要對所傳輸的信息進行加密,只有與之通信的對端才能對此密文進行解密。通過對路由器所發送的報文進行加密,即使在Internet上進行傳輸,也能保證數據的私有性、完整性以及報文內容的真實性。
(6)攻擊探測和防範
路由器作為一個內部網路對外的介面設備,是攻擊者進入內部網路的第一個目標。如果路由器不提供攻擊檢測和防範,則也是攻擊者進入內部網路的一個橋梁。在路由器上提供攻擊檢測,可以防止一部分的攻擊。
(7)安全管理
『柒』 路由器的固件可以自己修改並刷進去么比如只改他管理頁面的一個字。
用OpenWRT,代碼開源,官網可下載,允許用戶自己修改、編譯、增減附加功能。
『捌』 怎麼反編譯D-Link路由器固件程序並發現它的後門
基於上面的字元信息可以看出,這個/bin/webs二進製程序是一個修改版的thttpd,提供路由器管理員界面操作功能。看起來是經過了台灣明泰科技(D-Link的一個子公司)的修改。他們甚至很有心計的將他們很多自定義的函數名都輔以「alpha」前綴:
明泰科技的自定義函數
這個alpha_auth_check函數看起來很有意思!
這個函數被很多地方調用,最明顯的一個是來自alpha_httpd_parse_request函數:
調用alpha_auth_check函數
我們可以看到alpha_auth_check函數接收一個參數(是存放在寄存器$s2里);如果alpha_auth_check返回-1(0xFFFFFFFF),程序將會跳到alpha_httpd_parse_request的結尾處,否則,它將繼續處理請求。
寄存器$s2在被alpha_auth_check函數使用前的一些操作代碼顯示,它是一個指向一個數據結構體的指針,裡面有一個char*指針,會指向從HTTP請求里接收到的各種數據;比如HTTP頭信息和請求地址URL:
$s2是一個指向一個數據結構體的指針
我們現在可以模擬出alpha_auth_check函數和數據結構體的大概樣子:
struct http_request_t
{
char unknown[0xB8];
char *url; // At offset 0xB8 into the data structure
};
int alpha_auth_check(struct http_request_t *request);
alpha_auth_check本身是一個非常簡單的函數。它會針對http_request_t結構體里的一些指針進行字元串strcmp比較操作,然後調用check_login函數,實際上就是身份驗證檢查。如果一旦有字元串比較成功或check_login成功,它會返回1;否者,它會重定向瀏覽器到登錄頁,返回-1;
alpha_auth_check函數代碼片段
這些字元串比較過程看起來非常有趣。它們提取請求的URL地址(在http_request_t數據結構體的偏移量0xB8處),檢查它們是否含有字元串「graphic/」 或 「public/」。這些都是位於路由器的Web目錄下的公開子目錄,如果請求地址包含這樣的字元串,這些請求就可以不經身份認證就能執行。
然而,這最後一個strcmp卻是相當的吸引眼球:
alpha_auth_check函數中一個非常有趣的字元串比較
這個操作是將http_request_t結構體中偏移量0xD0的字元串指針和字元串「xmlset_roodkcableoj28840ybtide」比較,如果字元匹配,就會跳過check_login函數,alpha_auth_check操作返回1(認證通過)。
我在谷歌上搜索了一下「xmlset_roodkcableoj28840ybtide」字元串,只發現在一個俄羅斯論壇里提到過它,說這是一個在/bin/webs里一個「非常有趣」的一行。我非常同意。
那麼,這個神秘的字元串究竟是和什麼東西進行比較?如果回顧一下調用路徑,我們會發現http_request_t結構體被傳進了好幾個函數:
事實證明,http_request_t結構體中處在偏移量 0xD0處的指針是由httpd_parse_request函數賦值的:
檢查HTTP頭信息中的User-Agent值
將http_request_t + 0xD0指針指向頭信息User-Agent字元串
這代碼實際上就是:
if(strstr(header, "User-Agent:") != NULL)
{
http_request_t->0xD0 = header + strlen("User-Agent:") + strspn(header, " \t");
}
知道了http_request_t偏移量0xD0處的指針指向User-Agent頭信息,我們可以推測出alpha_auth_check函數的結構:
#define AUTH_OK 1
#define AUTH_FAIL -1
int alpha_auth_check(struct http_request_t *request)
{
if(strstr(request->url, "graphic/") ||
strstr(request->url, "public/") ||
strcmp(request->user_agent, "xmlset_roodkcableoj28840ybtide") == 0)
{
return AUTH_OK;
}
else
{
// These arguments are probably user/pass or session info
if(check_login(request->0xC, request->0xE0) != 0)
{
return AUTH_OK;
}
}
return AUTH_FAIL;
}
換句話說,如果瀏覽器的User-Agent值是 「xmlset_roodkcableoj28840ybtide」(不帶引號),你就可以不經任何認證而能訪問web控制界面,能夠查看/修改路由器的 設置(下面是D-Link路由器(DI-524UP)的截圖,我沒有 DIR-100型號的,但DI-524UP型號使用的是相同的固件):
訪問型號DI-524UP路由器的主界面
基於HTML頁上的源代碼信息和Shodan搜索結果,差不多可以得出這樣的結論:下面的這些型號的D-Link路由器將會受到影響:
DIR-100
DI-524
DI-524UP
DI-604S
DI-604UP
DI-604+
TM-G5240
除此之外,幾款Planex路由器顯然也是用的同樣的固件程序:
BRL-04UR
BRL-04CW
『玖』 刷了OpenWrt固件的TL-WR703N路由器如何刷回原固件
看你自己的領悟能力啦。!!!!!!!!!
我的機型是。W941.TP一般這種方法都是通用的。
網上你找不到的。信我的沒錯。
1.准備好固件並且在DOS下讓路由能訪問到
2.准備FTP(WinSCP),上傳你的官廠固件!在TFTP上!tmp目錄!
3.開始菜單
運行CMD
,打開dos界面。
輸入telnet
192.168.1.1
(win7下如果telnet出錯,是因為沒有telnet服務,控制面板里打開就行了,具體的可以網路下,推薦在XP下進行,虛擬機也可以哦!)
4.(顯示用戶名密碼
輸入
root
admin
或者自己的密碼)
5.登陸成功後cd
/tmp切換到路由器的
tmp文件夾下
6.執行
mtd
-r
write
xxxxxxxx.bin
linux
(xxxxxxx.bin
是你官方固件文件名:這個名字最好改短點啦。1.bin都行。)
如果出現錯誤Linux可能要改成firmware
(也就是
mtd
-r
write
xxxx.bin
firmware)
7.第一個。Linux錯誤的話。可能要強制復位。之後,再用每2個方法。
固件很快就提示刷好了,等待它自己重啟,1分鍾左右就夠了,OK刷固件成功!!!!!
其實,我用DD-WRT也不錯。openwrt我刷了一天就刷回來了。不好用。懂linux的用就不錯。
