物聯網設備固件獲取

固件獲取主要有三類方法,一類是直接從官網上找到目標型號的設備固件下載下來便可;一類是使用Telnet或者ssh從目標設備中獲取固件;最後一類是須要使用一些硬件工具和軟件工具,從開發板上的flash芯片中或者經過UART和JTAG調試接口將固件提取下來。php

 

1)網上下載

D-Link路由器固件      ZOL驅動下載網站上也能夠找到其餘品牌路由器的固件,點擊連接html

TP-Link路由器固件linux

華碩ASUS路由器固件(輸入產品型號,找到固件下載便可)      eg.RT-AC88Ugit

騰達Tenda路由器固件(輸入產品型號)      eg.AC23github

小米路由器固件(ROM)編程

小蟻智能攝像頭固件(可是這個下載下來不曉得文件是什麼格式)服務器

美國網件NETGEAR設備固件(輸入產品型號,下載壓縮包格式,其中是內核和根文件)   這個連接也可網絡

 

下載獲得的固件包通常是.bin格式,也有.trx格式:ssh

.bin files are for flashing from a stock firmware. .trx files are for flashing from OpenWrt.  bin後綴文件通常爲十六進制經過刷寫BIOS的工具來燒錄芯片經常使用的格式,bin文件是直接能夠燒到固件裏面執行的;bin文件是從硬盤啓動所須要的,會添加相應的文件系統頭,trx是flash啓動的,要把頭去掉,因此trx會比bin小些;通常說來,trx的固件是通用的版本,bin是爲一些設備支持提供的文件,使它符合一些設備的特性。工具

.bin格式轉化爲.trx格式

 

在查找資料過程當中,還接觸到了Openwrt這個名詞:

Openwrt是嵌入式設備上運行的linux系統。OpenWrt 的文件系統是可寫的,開發者無需在每一次修改後從新編譯,令它更像一個小型的 Linux 電腦系統,也加快了開發速度。
不管是 ARM, PowerPC 或 MIPS 的處理器,都有很好的支持。而且附帶3000左右的軟件包,用戶能夠方便的自定義功能來製做固件,也能夠方便的移植各種功能到openwrt下。

相關資料:

openwrt是什麼_openwrt有什麼用從零開始編譯OpenWrt固件openwrt編譯入門(絕對詳細版)

 

2)遠程登陸獲取固件

前提條件是有目標物聯網設備,而且能正確聯網。

這裏使用幾個工具,來對目標設備上的固件進行下載。①PuTTY,②WinSCP

PuTTY工具使用ssh協議登陸目標設備服務器,並將固件文件複製到/tmp文件夾;

WinSCP工具登陸目標設備後,可將/tmp中的固件下載到本地硬盤中。

參考(詳細步驟):https://jingyan.baidu.com/article/870c6fc31357ebb03fe4bedd.html

 

3)硬件提取

在網絡上找不到目標固件資源的狀況下,能夠選擇從硬件下手,提取固件。通常比較經常使用的是下邊兩種:

一是從Flash芯片中讀取固件:①將導線鏈接到芯片的引腳,經過飛線鏈接RT809F編程器,進行編程器軟件在線讀取固件【該方法比較適合大型的、成本較高、價格昂貴的工控設備,該方法不會對開發板形成破壞】;②把芯片拆焊下來,經過燒錄座編程器,離線讀取固件【適用於芯片引腳採用點錫絲網焊接在背面,引腳過小或沒有暴露出引腳等狀況】;案例和參考:連接

二是經過串口或調試接口讀取固件:①bootloader讀取,芯片和電腦之間經過串口鏈接通訊,運行mcuisp軟件,點擊讀Flash便可;②須要用到硬件調試工具,通常能夠經過下面兩類調試接口,把Flash中的數據讀取出來:

(1)SWD接口,利用硬件:J-LINK OB或者J-LINK或者ST-LINK;利用軟件:J-LINK驅動程序自帶的J-FLASH或者ST官網提供的STVP。

(2)JTAG接口,利用硬件:J-LINK;利用軟件:J-LINK驅動自帶的J-FLASH。

 

串口和調試接口的區別:

能用串口下載程序的單片機,其內部通常都有boot程序的支持,boot程序將要下載的數據經過串口接收到單片機以後調用boot中的flash編程程序,寫到內部的flash中;

JTAG是一種標準的調試接口,徹底硬件實現,須要單片機內部有JTAG的硬件調試單元和外面的仿真器進行通訊,既能調試又能下載。

嵌入式開發——串口 UART JTAG TTL 區別和聯繫

 

固件分析工具:

binwalk – 經過固件文件頭來分析文件和文件系統(binwalk使用方法
file – 用來檢測是不是有效的文件和文件類型
hexdump --16進制導出工具
strings --跟hexdump相似可是能夠以可讀的形式展現
lzma --解壓LZMA文件

 

主要參考資料:

IOT設備固件介紹及提取

滲透低性能智能設備的關鍵技術-固件提取

物聯網設備測試工具及方法簡介

IoT設備固件分析教程之固件是怎麼存儲的

相關文章
相關標籤/搜索