當前位置:首頁 » 編程軟體 » 編譯路由器

編譯路由器

發布時間: 2022-01-16 05:43:22

Ⅰ 能幫我編譯一個路由器tp wr720 v3的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

Ⅲ ubuntu下編譯openwrt路由器需要配置多大

我這段時間在學習openwrt的編譯,教程看了幾十遍,設備是hg255d,我想自己為其編譯一個固件,我的編譯過程如下圖所示(用的trunk版):

其他的選項都按默認,編譯成功後,在trunk/bin/ramips/有如下文件

我通過TTL線把openwrt-ramips-rt305x-uImage.bin刷入成功後,啟動如下所示

Ⅳ 路由器內核 用什麼編寫

tp-link 402具體用什麼編寫不清楚,但很多路由內核是用C++寫的.

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

可以進行反編譯。

路由器的固件通常存儲在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. 用這些分析工具進行分析,分析出來後,解壓對應的數據包,提前對應的關鍵性數據進行分析。

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

Ⅵ lede 編譯 路由器固件 包沒有

可以進行反編譯。
路由器的固件通常存儲在FLASH中,通常都是以 xxx.bin格式的文件形式保存的。bin格式是一種二進制文件,存儲的是路由器的機器碼,通過反編譯,可以將其還原為匯編碼,以便進行分析。獲取、反編譯及分析固件通常按下列步驟:
獲取路由器固件需要的環境
常見路由器的SPI FLASH編程器;
最好是用Winows 筆記本來登陸到ubuntu系統的台式機上的方式 ;
Windows 下的Putty、winhex、WinSCP軟體工具;
TTL線、網線、萬用表及烙鐵,熱風槍等工具和線材;
分析步驟
拆開對應的路由器設備的外殼;
查看路由器內部的的介面標識;
用萬用表找到對應的地線GND標號;
通常為了調試或升級的方便,都會保留TTL引腳;
查看是否存在有TTL線的引腳或觸點;
用准備好的TTL線連接路由器的TTL引腳或觸點;
windows下用putty中的串口項打開對應的TTL線連接的串口;
查看是否有路由器啟動的日誌信息,如果有,請仔細分析;
等路由信息啟動完畢後,看看是否有終端跳出來,是否有登陸窗口跳出;
如果有登陸窗口,但是無法輸入,或者無法猜測出對應的用戶名密碼;
用熱風槍或烙鐵取下路由器上的存儲FLASH晶元;
在Windows下用編程器提前存儲在FLASH晶元的全部固件;
用WinSCP工具將提取出的固件上傳到ubuntu系統中;
在ubuntu系統中安裝對應的固件分析工具(firmware-mod-kit、binwalk、lzma、squashfs-tools等);
用這些分析工具進行分析,分析出來後,解壓對應的數據包,提前對應的關鍵性數據進行分析。
按以上步驟可以實現對路由器的分析。

Ⅶ 怎麼對路由器的固件進行修改類似破解一樣! 涉及程序編譯嗎

改WIFI密碼的步驟是:
1.打開瀏覽器,在地址欄輸入路由器地址:192.168.1.1。(以你個人路由器地址為准,一般說明書上會有,無限路由器上面也會標識)這樣就可以進入路由器設置頁面。
2.進去後會彈出對話框,要輸入用戶名和密碼,無線路由器上面會標識,一般用戶名和密碼都是:admin
3.輸入用戶名和密碼後會進入路由器的設置頁面,然後點擊,無線設置 下的 無線安全設置 。
4.進入無線網路安全設置之後,選擇WPA-PSK/WPA2-PSK這一選項,在PSK密碼裡面輸入自己想好的密碼,就是給自己家WIFI設置的密碼就可以了。
5.輸入密碼之後點擊下面的保存鍵進行保存,之後就大功告成了。
6.保存之後,需要重啟一下路由器就可以了!

Ⅷ 請問841nv8編譯OP固件,用哪個路由器型號

選擇TP-LINK TL-WR841N/ND,會編譯所有的841,然後選擇自己想要的即可。v8用的是這個文件mach-tl-wr841n-v8.c

Ⅸ 如何編譯符合自己路由器的的OpenWrt固件

懂的不需要問;如不懂的,建議找對應路由器主晶元的open固件,自己研究一下;歡迎追問~!

Ⅹ 如何為一個新路由器編譯openwrt

Openwrt 官方正式的發行版是已編譯好了的映像文件(後綴名bin或trx、trx2),此映像文件可從Openwrt官方網站的下載頁面中輕松獲取到,連接地址為 OpenWrt官方網站。這些編譯好的映像文件是基於默認的配置設置,且只針對受支持的平台或設備的。因此,為什麼要打造一個自己的映像文件,理由有以下四點:
您想擁有一個個性化的配置OpenWrt(彰顯個性,在朋友圈子裡顯擺顯擺,開個玩笑);
您想在實驗性的平台上測試OpenWrt;
您參與測試或參與開發OpenWrt的工作;
或者,最簡單的目的就是為了保持自己的Openwrt為最新版本;
若想實現上述目的,其實很簡單,按下述文字即可成功編譯出一個您的Openwrt來。
准備工作
在開始編譯Openwrt之前需要您做些准備工作;與其他編譯過程一樣,類似的編譯工具和編譯環境是必不可少的:
一個構建OpenWrt映像的系統平台,簡單說就是准備一個操作系統(比如Ubuntu、Debian等);
確保安裝了所需的依賴關系庫, (在debian系統中就是安裝各種需要的軟體包)
OpenWrt源代碼副本
首先, 開機登陸到支持編譯Openwrt的操作系統(廢話了)。實體機或者虛擬機(Vmware 或者 Qemu)里的操作系統都行,這里推薦使用Linux系統。 bsd和mac osx系統也可以編,但不推薦,且未驗證是否可編譯成功。下文假定您使用的是Debian操作系統,使用 apt-get 來管理包. 替代的選擇是 Ubuntu (分支 Kubuntu, Xubuntu 等即可)。
第二步, 就是安裝所需要的各種軟體包, 包括編譯器,解壓工具,特定的庫等. 這些工作可以簡單的通過鍵入以下命令 (通常需要root 或者是 sudo 許可權),以root許可權安裝下列軟體包(可能並不完整,會有提示,提示缺少即裝就可以了):

熱點內容
循跡小車演算法 發布:2024-12-22 22:28:41 瀏覽:82
scss一次編譯一直生成隨機數 發布:2024-12-22 22:04:24 瀏覽:956
嫁接睫毛加密 發布:2024-12-22 21:50:12 瀏覽:975
linuxbin文件的安裝 發布:2024-12-22 21:46:07 瀏覽:798
vlcforandroid下載 發布:2024-12-22 21:45:26 瀏覽:664
電腦做網關把數據發送至伺服器 發布:2024-12-22 21:44:50 瀏覽:432
新華三代理什麼牌子的伺服器 發布:2024-12-22 21:33:21 瀏覽:342
歡太會員密碼是什麼 發布:2024-12-22 20:57:28 瀏覽:74
sqllocaldb 發布:2024-12-22 20:07:08 瀏覽:126
如何找到我的伺服器 發布:2024-12-22 19:52:14 瀏覽:301