當前位置:首頁 » 編程軟體 » 路由固件反編譯

路由固件反編譯

發布時間: 2022-12-07 16:15:52

⑴ 路由器固件編譯中的GPIO應用——控制LED

上一篇初探了路由器上GPIO的應用,當刷好不死breed後,刷入自編譯的固件,常常會遇到LED指示燈錯誤。

例如上一篇在breed中對於引腳的輸出

GPIO復用引腳的釋放及gpio-leds的注冊

OpenWrt wiki-GPIO
路由器選擇breed時的GPIO引腳
也許可以試著用通過網路控制路由器來開關燈?

⑵ 怎麼反編譯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

⑶ 路由器怎麼刷固件

現在的路由器都是智能路由器,給我們這些喜歡折騰的,有多了一樣可以折騰的東西。給路由器刷第三方固件,可以讓路由器的擁有原來沒有的功能。

工具/原料more

電腦 路由器 第三方路由固件 Breed Web 助手

破解路由器 刷入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/2

刷入固件

1.拔掉路由器電源,按住路由器重置按鈕,插上電源,等待10秒鍾左右。2.打開瀏覽器,輸入「192.168.1.1"回車,進入了Breed Web 控制台了。3.在界面的左側點擊「恢復出廠設置」,在固件類型選擇「Config區(公版)」然後點擊「執行」,等待執行完成。

查看剩餘1張圖

2/2

然後在左側點擊「固件更新」,在右側常規固件下,勾選固件復選框,點擊「選擇文件」,添加准備好的固件。接著點擊「上傳」,確認上傳固件信息,點擊「更新」,等待完成(在完成之前,不要斷開路由器電源,不然路由器有變磚的可能)

查看剩餘2張圖

路由器 固件

編輯於2018-01-04,內容僅供參考並受版權保護

 贊踩分享

閱讀全文

⑷ 都2022年了,再談路由器刷機「K1/K2/K2P系列刷機圖文教程」

本內容來源於@什麼值得買APP,觀點僅代表作者本人 作者:Stark-C



都2022年,我想該不會還有人不知道路由器還能刷機?

也許可能還真有人不知道,正好前幾天有位朋友扔給我一台K2路由器,讓我刷機整點其它的東西,所以我就趁此機會,來談談路由器的刷機過程與心得吧(此次雖說用的K2做演示,其實K1/K2/K2P刷機的步驟和注意事項幾乎都是一樣的)!

路由器刷機的好處我想不用我多說吧,懂得都懂,最主要得就是發揮路由器得真正性能,解鎖路由器的新功能。

作為一個數碼愛好者,刷機是我們的基本技能,更是我們的樂趣。我們堅信:「萬物皆可刷」!反正我個人是小到刷手機,大到刷 汽車 隱藏,都是各種折騰。關於路由器刷機,我其實也是很多年前就玩過,我還記得刷的第一台路由器是迅雷路由,然後直接刷成華碩梅林固件,也就是從那個時候,我才知道華碩路由器固件的強大,這也是我從那個時候起,一直選擇華碩路由器的首要原因。

估計只有老玩家才知道這款迅雷路由吧~~

其實K2路由器我個人本來都有,包括K2P,只不過我在後來全部在某魚出掉了而已。說來慚愧,我的那台K2P其實也在最後一個月翻車了~~。得益於當時該品牌的市場佔有率(准確的說是保有量)高,網上有非常多的固件和玩法,也直接讓該品牌的路由器(特別是K2,K2P)成為當之無愧的路由器「刷機王子」。

某論壇上顯示的可以刷機的路由器非常的多,幾乎覆蓋了目前市面上的主流路由器。

說了這么多,開始今天的主題吧!

首先說明,今天的刷機工具是來自恩山大神「H大」,再此表示感謝!(玩過這個路由器的小夥伴應該還記得,最早刷這款路由器還需要拆機通過TTL刷機的,現在有了大神的刷機工具,不用拆機了,幾乎是傻瓜式操作,點點滑鼠就搞定了,非常的方便)

原貼地址:https://tbvv.net/posts/0101-breed.html

建議先看看作者的原帖地址,裡面有刷機工具,第三方固件,以及部分注意事項。

先來說說路由器的刷機思路吧。其實路由器刷機思路非常簡單,就兩步:刷入breed,刷第三方固件。

上圖就是K2路由器的breed控制台界面。

》》關於breed,簡單來說其實就是我們以前玩安卓手機的REC模式,路由器在刷入breed以後,就可以通過breed刷如第三方固件。而且breed又被廣大網友戲稱「不死固件」,是因為刷入路由器刷入breed以後,之後我們刷的第三方固件全部是在 breed 裡面完成,然後我們可以隨意折騰也不用擔心路由器「變磚」而無法使用,就算你刷錯固件路由器沒反應,我們也可以重新進入breed刷入一個可以啟動的固件就可以了。

然後在看看路由器的幾個介面名稱:

NO.1 確定自己的路由器版本

首先在刷機之前,需要保證自己的K2路由器是MTK晶元,只有MTK晶元的路由器才可以刷入breed。之前這款路由器還出過博通晶元的設備,而博通晶元的設備目前是無法刷入breed的。

那麼怎麼確定自己的版本信息呢?有兩種方法:

方法一:查看路由器背面標簽的ver,A開頭的標識就是MTK晶元版,可以刷機,B開頭的是博通版,一般是不可以刷breed的。

方法二:登錄路由器的管理界面,選擇高級設置-設備信息裡面的硬體版本也可以查看版本信息。

PS:這里說的A版可以刷,B版不能刷僅針對K2路由器,其實K1/K1S也是有B版本的是可以刷固件的。

NO.2 確定刷入breed工具支持的固件范圍

對,沒錯,breed並不是萬能的,也需要路由器原生固件的支持。如果不是支持的固件,是無法刷入或者會直接報錯。

上圖就是作者列出的支持官方固件支持的列表。

如果路由器不在上述列表的范圍內,需要先升級。不巧的是我這台K2路由器就不在列表中,所以我又在網上自己找的對應的固件手動升級的。因為此品牌的路由器保有量很大,所以隨便就能找到它對應的官方固件。

找到固件以後,也是登錄路由器的管理界面,選擇高級設置—系統設置—手動升級,選擇你下載下來的對應的固件,點擊「升級」按鈕就可以直接升級了。

NO.3 瀏覽器的使用技巧

在用刷入breed的時候,為了提高成功率,建議使用無痕模式。因為如果按照我們平時使用瀏覽器的習慣,瀏覽器的緩存有可能導致在訪問breed控制台頁面時出錯。並且很多新手小白其實明明已經刷成功了,但是看到路由器無法獲取IP地址就以為固件有問題亂刷,最後可能真會把路由器刷成「磚」了。

Windows電腦的Edge瀏覽器打開無痕模式的方法,其它瀏覽器請自行搜索。

NO.4 禁用多餘網路

因為刷機存在風險與不確定性,為了防止出錯率建議單獨使用網線將電腦與路由器連接,WAN口不接線。LAN口連接電腦,電腦需要設置為自動獲取IP,並禁用多餘的網路連接比如無線網路連接和虛擬網卡等等。

Windows電腦可以在控制面板—網路和Internet—網路連接中,只留網線連接的那條線,其它的暫時禁用,完成刷機以後在打開也無妨。

當你到這步的時候,請確保你已經下載好了我上面那個連接中,原作者給出的刷入breed的工具。然後直接將電腦與路由器的LAN口使用網線單獨連接後就可以刷機了。

直接雙擊刷入breed的工具中的「刷機.bat」腳本程序。

然後出現上圖所示。按照程序提示輸入路由器IP地址。

怎麼知道我們當前路由器的IP地址?很簡單,還是登錄路由器的管理界面,選擇高級設置—系統狀態,LAN口狀態下面的IP地址就是你當前的路由器IP地址。

然後在輸入路由器的登錄密碼(也就是你路由器的管理頁面登錄密碼)。如果你的K2路由器是沒有設置的,直接回車輸入Y即可,程序會自動配置管理頁面,這個時候管理密碼會被配置為:tbvv.net。

剩下的就交給程序自動完成,當出現上圖中的界面,就說明breed基本上算是刷入完成了,就是這么簡單!

看到這里,請先保證你已經下載好了第三方固件。

其實我上面給出的原作者帖子裡面就有很多第三方的固件下載連接,需要的直接過去下載好了。根據我個人的經驗,如果求穩定,華碩padavan固件和高恪固件非常不錯!

前面說過,我們給路由器刷入第三方固件全部都是在breed模式下刷入的,所以我們首先要進入breed模式。

作者在文中說了,breed模式進入方法有兩種:

第一種方法是使用breed原作者的BreedEnter中斷工具進入breed模式,這種方式需要下載和安裝環境和程序,啟動BreedEnter程序後直接點擊啟動按鈕,然後在路由器的管理界面直接點擊重啟或者直接斷電重啟等待BreedEnter工具提示已進入breed,使用瀏覽器訪問:192.168.1.1即可。

我個人是更偏向於對我們小白比較友好的第二種方法。那就是將路由器斷開電源後,按住路由器後面的復位鍵按鈕不松開手,這個時候給路由器通電後等待3-5秒左右松開手,然後直接通過瀏覽器訪問breed控制台的地址:192.168.1.1即可。

上圖就是K2的breed控制台界面。

當我們首次打開breed控制台的時候,強烈建議備份編譯器固件和EEPROM,這個是以防萬一,以後這個可是路由器「救磚」的重要數據。

然後在選擇「恢復出廠設置」。這步的目的是清除路由器的原設置與數據,可以解決刷固件後出現的各種問題。

最後我們就可以放心大膽的上傳第三方固件了。

固件: 直接選擇下載好的第三方固件

快閃記憶體布局: 刷入第三方選擇默認的公版即可,如果是官方固件或者官改固件,選擇斐訊原廠。

上傳之後選擇「更新」按鈕。

然後到這里,基本上就說明你已經完成了整個刷機過程了。

我這個是刷入openwrt的固件界面。

其實路由器刷機並不難,基本上可以說只要刷好了breed控制台,就可以隨意折騰了,哪怕是刷錯了固件也不要緊,大不了重新找個對的刷。

好了,以上就是今天給大家分享的內容,我是愛分享的Stark-C,如果今天的內容對你有幫助請記得收藏,順便點點關注,我會經常給大家分享各類有意思的軟體和免費干貨!謝謝大家~~

作者聲明本文無利益相關,歡迎值友理性交流,和諧討論



⑸ 怎麼將路由器官方下載的固件變成編輯器固件

以Newifi新路由為例,固件升級方法如下,供你參考
方法/步驟
1.首先打開IE瀏覽器,輸入Newifi新路由的路由器地址,初始地址為:192.168.99.1,出現Newifi新路由登錄界面。
2.輸入Newifi新路由的密碼之後可以進入路由管理界面,密碼為你設置的WIFI密碼。然後點擊路由設置。
3.點擊路由系統升級。可以看你的Newifi新路由當前路由系統版本,與最新版本號。
4.點擊升級後,會提示警告信息,點擊確定升級。
5.進入路由器新版本固件ROM下載。
6.Newifi新路由固件下載完成後,會自動進入升級。
7.升級完成後Newifi新路由會自己重啟,進入升級界面,可以看新版本號。若需要嘗試測試版本,或其它兼容的路由器固件ROM,可以選擇本地進行刷路由系統。

⑹ 路由器固件如何打開源碼

有時因為某種原因可能要把路由器恢復出廠設置,但忘了密碼,路由器裡面顯示的是*號,當然我們可以把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的直接就可以看到密碼和用戶名,一般在一個£符號後面

⑺ 解鎖uboot分區路由器固件怎麼編

1、首先到路由器的官網下載最新固件。
2、登陸路由器,選擇系統工具-軟體升級。
3、點擊瀏覽,找到下載的路由器固件。
4、等待升級完成,路由器會自動重啟就完成升級了。

⑻ 如何更改中興智能路由器固件呢

中興智能路由器ZXHN Z503改固件路由器修改流程:首先:需要確定路由器的固件版本,只有確定路由器的固件版本,才能查找是否有升級版的固件。如果你不知道路由器的固件版本,可以進入路由器的管理界面,路由器型號如下圖所示,如果你一直到路由器的固件版本,可以直接跳過此步。 其次:確定路由器的固件版本之後,進入路由器的官網網站,小編的路由器為TP-link,所以需要進入TP-LInk官網,此處請根據路由器的品牌而定。網路搜索「TP-link」,進入官網。 第三步:進入路由器官網之後,根據路由器型號搜索相應的固件,然後根據固件的版本號,對比第一步查找到的固件版本號,確定是否有固件更新。如果固件有更新,然後下來,如果為更新,那就無需更新了
電腦網卡連接路由器的LAN口,打開瀏覽器,輸入192.168.1.1,出現路由器的web配置登陸窗口,填寫自己的用戶名和密碼按「確定」進行登陸。 刷新固件之前,應對路由器的配置進行一個備份,因為刷新固件完成之後路由器的配置也會被清空,有了備份就可以快速恢復。點擊右邊選項欄的「路由器設定值」。 在右邊的窗口中點擊「Backup」,之後選擇備份文件的保存位置,這樣就完成了路由器當前配置的備份工作。 點擊右邊選項欄的「固件升級」。 在上傳固件的頁面中,點擊「瀏覽」找到要升級的固件文件,之後點擊「升級」。 升級完成之後,需要恢復備份的配置,看到步驟2,3的頁面,點擊「瀏覽」選擇備份出來的配置文件,點擊「Restore」即可完成對路由器的恢復。

⑼ 路由器的固件能反編譯嗎

可以進行反編譯。

路由器的固件通常存儲在FLASH中,通常都是以xxx.bin格式的文件形式保存的。bin格式是一種二進制文件,存儲的是路由器的機器碼,通過反編譯,可以將其還原為匯編碼,以便進行分析。獲取、反編譯及分析固件通常按下列步驟:

獲取路由器固件需要的環境

  1. 常見路由器的SPI FLASH編程器;

  2. 最好是用Winows 筆記本來登陸到ubuntu系統的台式機上的方式 ;

  3. Windows 下的Putty、winhex、WinSCP軟體工具;

  4. TTL線、網線、萬用表及烙鐵,熱風槍等工具和線材;

分析步驟

  1. 拆開對應的路由器設備的外殼;

  2. 查看路由器內部的的介面標識;

  3. 用萬用表找到對應的地線GND標號;

  4. 通常為了調試或升級的方便,都會保留TTL引腳;

  5. 查看是否存在有TTL線的引腳或觸點;

  6. 用准備好的TTL線連接路由器的TTL引腳或觸點;

  7. windows下用putty中的串口項打開對應的TTL線連接的串口;

  8. 查看是否有路由器啟動的日誌信息,如果有,請仔細分析;

  9. 等路由信息啟動完畢後,看看是否有終端跳出來,是否有登陸窗口跳出;

  10. 如果有登陸窗口,但是無法輸入,或者無法猜測出對應的用戶名密碼;

  11. 用熱風槍或烙鐵取下路由器上的存儲FLASH晶元;

  12. 在Windows下用編程器提前存儲在FLASH晶元的全部固件;

  13. 用WinSCP工具將提取出的固件上傳到ubuntu系統中;

  14. 在ubuntu系統中安裝對應的固件分析工具(firmware-mod-kit、binwalk、lzma、squashfs-tools等);

  15. 用這些分析工具進行分析,分析出來後,解壓對應的數據包,提前對應的關鍵性數據進行分析。

按以上步驟可以實現對路由器的分析。

熱點內容
如何把手機改安卓10 發布:2024-05-05 17:39:07 瀏覽:496
我的世界怎麼擴容伺服器內存 發布:2024-05-05 17:19:54 瀏覽:48
java讀取文件字元 發布:2024-05-05 17:15:18 瀏覽:11
三星怎麼應用加密 發布:2024-05-05 17:13:18 瀏覽:152
cad字體在那個文件夾 發布:2024-05-05 17:08:20 瀏覽:331
什麼時候用編譯器 發布:2024-05-05 17:08:20 瀏覽:766
應急救援腳本 發布:2024-05-05 17:08:17 瀏覽:338
我的世界搭建無正版驗證伺服器 發布:2024-05-05 17:03:48 瀏覽:819
我的世界伺服器地址寶可夢 發布:2024-05-05 17:00:16 瀏覽:256
dede企業源碼 發布:2024-05-05 16:57:53 瀏覽:787