物聯(lián)網(wǎng)硬件安全分析基礎(chǔ)-串口調(diào)試

前言

上節(jié)介紹了關(guān)于通過編程器直接讀取芯片獲取固件用來靜態(tài)分析的一點(diǎn)思路,本篇將介紹通過UART串口來直接與機(jī)器交互,通過串口輸出輸入信息,做動(dòng)態(tài)調(diào)試。
通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter),通常稱作UART,是一種異步收發(fā)傳輸器,是電腦硬件的一部分。它將要傳輸?shù)馁Y料在串行通信與并行通信之間加以轉(zhuǎn)換。作為把并行輸入信號(hào)轉(zhuǎn)成串行輸出信號(hào)的芯片,UART通常被集成于其他通訊接口的連結(jié)上。
對(duì)于物聯(lián)網(wǎng)硬件的串口調(diào)試,多數(shù)情況下指的就是通過UART串口進(jìn)行數(shù)據(jù)通訊, 但是我們經(jīng)常搞不清楚它和COM口的區(qū)別, 以及RS232, TTL等關(guān)系, 實(shí)際上UART、COM指的物理接口形式(硬件), 而TTL、RS-232是指的電平標(biāo)準(zhǔn)(電信號(hào)).
UART有4個(gè)pin(VCC, GND, RX, TX), 用的TTL電平, 低電平為0(0V)、高電平為1(3.3V或以上),Uart串口的RXD、TXD等一般直接與處理器芯片的引腳相連,而RS232串口的RXD、TXD等一般需要經(jīng)過電平轉(zhuǎn)換(通常由Max232等芯片進(jìn)行電平轉(zhuǎn)換)才能接到處理器芯片的引腳上,否則這么高的電壓很可能會(huì)把芯片燒壞。
在調(diào)試的時(shí)候, 多數(shù)情況下我們只引出rx、tx、gnd即可,但是UART的數(shù)據(jù)要傳到電腦上分析就要匹配電腦的接口,通常我們電腦使用接口有COM口和USB口(最終在電腦上是一個(gè)虛擬的COM口),但是要想連上這兩種接口都要需要進(jìn)行硬件接口轉(zhuǎn)換和電平轉(zhuǎn)換。

image
image

UART串口調(diào)試

UART調(diào)試第一步需要先找到對(duì)應(yīng)的四個(gè)PIN,在通電情況下,VCC口可以不要接,判斷 GND, RX, TX三個(gè)引腳是調(diào)試的關(guān)鍵,找四個(gè)引腳可以先看PCB上的印字。


image
image
image

但多數(shù)廠商在量產(chǎn)前會(huì)去掉用于調(diào)試的串口印字,如果找不到對(duì)應(yīng)引腳的印字,就需要先分析PCB的結(jié)構(gòu),一般PCB上有3、4 、5個(gè)并排或相距不遠(yuǎn)的焊點(diǎn)或通孔,就有可能是UART調(diào)試串口。


image
image
image

但PCB上可能存在多個(gè)這樣的焊點(diǎn)或通孔,從多個(gè)口中找出真正的調(diào)試串口,就需要借助到萬(wàn)用表。

image
image

萬(wàn)用表找串口首先需要找到GND口,就是接地口,在疑似串口的焊點(diǎn)處,通過測(cè)量電勢(shì)差,可以判斷出GND口,通過連接焊點(diǎn)和輸入負(fù)極,如果電勢(shì)為0,就可能是GND口,如果電勢(shì)為最大值,例如3.6V、5V等,就可能是VCC口。然后通過UART轉(zhuǎn)換器對(duì)應(yīng)的4個(gè)口,引出導(dǎo)線,并設(shè)置好串口輸出環(huán)境后,就可以依次嘗試。也可以通過短接其中的兩口,如果機(jī)器重啟,就可以判斷這兩口為VCC和GND。
需要注意的是,在TTL電平模式下,UATR轉(zhuǎn)換接口上的RX、TX口與上位設(shè)備,也就是PCB上的UART口的RX和TX是需要反接的。

image
image

案例一:調(diào)試某智能攝像頭

通過萬(wàn)用表測(cè)量電勢(shì)差之后,在靠近CPU的地方有三個(gè)通孔,有可能是UART串口,用導(dǎo)線連接之后,設(shè)置波特率為115200。

image
image

用SecureCRT連接串口,給機(jī)器通上電之后,串口立馬輸出了啟動(dòng)信息,并可以執(zhí)行命令,說明串口正確,如果遇到無(wú)法輸入的情況,首先檢查接線是否松動(dòng),然后在SecureCRT中的, Session Options -> Connection -> Serial -> Flow Control,將原先選中的 RTS/CTS取消掉,這是因?yàn)槿绻x中了RTS/CTS ,則硬件上要有對(duì)應(yīng)接口,軟件上實(shí)現(xiàn)對(duì)應(yīng)協(xié)議,才能實(shí)現(xiàn)此流控制。如果串口輸出為亂碼,則需要切換波特率,直至輸出正常。

image
image

案例二:調(diào)試某路由器

在靠近c(diǎn)pu的地方有四個(gè)通孔,測(cè)量電勢(shì)差后,利用導(dǎo)線探針,確定了三個(gè)PIN,連接轉(zhuǎn)換器。

image
image

串口中輸出調(diào)試信息,因波特率設(shè)置問題,初始輸出為亂碼,改為38400即可正常輸出。

image

案例三:調(diào)試某路由器

在PCB上有四個(gè)焊點(diǎn),先測(cè)量電勢(shì)差,分出GND和VCC,在利用焊槍分別焊上導(dǎo)線,連接轉(zhuǎn)換接口,測(cè)試出TX和RX口。

image
image

設(shè)置波特率為57600,串口輸出正確,并可執(zhí)行命令。

image

案例四:調(diào)試某路由器

在PCB一側(cè)有5個(gè)通孔,并標(biāo)注有UART-0字樣,通電后,測(cè)試各口電勢(shì)差,確實(shí)GND和VCC后,連接轉(zhuǎn)換接口,并測(cè)試出RX和TX口。

image
image

設(shè)置波特率為57600,串口輸出正確,并可執(zhí)行命令。

image
image

通過本地架設(shè)的tftp服務(wù)器,并在串口輸入命令,開啟相關(guān)服務(wù),就可以通過tftp與機(jī)器傳輸文件。

image
image

案例五:調(diào)試某無(wú)線數(shù)據(jù)終端

拆開正面壓板,發(fā)現(xiàn)PCB上標(biāo)注有印字,利用PCB夾具和探針,引出RX和TX口,連接轉(zhuǎn)換器,因該無(wú)線終端串口電壓不超過1.7V,焊接容易造成信號(hào)衰減,因此采用夾具。


image
image

因串口輸出信息過多,影響輸入和輸出結(jié)果,因此采用串口調(diào)試助手,設(shè)置波特率為115200,輸入命令并發(fā)送,可以成功執(zhí)行。

image
image

案例六:調(diào)試某無(wú)線數(shù)據(jù)終端

拆解機(jī)器,該型機(jī)器采用多塊電路板層級(jí)設(shè)計(jì),其主要處理芯片位于頂部,拆解時(shí)注意走線位置,防止拉壞接線口,在PCB上有UART的PIN口印字,給每一個(gè)PIN口焊上導(dǎo)線,連接轉(zhuǎn)換器。

image
image

設(shè)置波特率為921600,連接串口,用root賬號(hào)登陸,密碼為空,成功進(jìn)入系統(tǒng),執(zhí)行命令。

image
image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 姓名:朱小鵬 學(xué)號(hào):16010130023 轉(zhuǎn)載:STM32輸入輸出模式理解 http://www.opened...
    小鵬_956f閱讀 1,339評(píng)論 0 0
  • 做單片機(jī)開發(fā)時(shí)UART,SPI和I2C都是我們最經(jīng)常使用到的硬件接口,我收集了相關(guān)的具體材料對(duì)這三種接口進(jìn)行了詳細(xì)...
    梁睿坤閱讀 68,739評(píng)論 7 31
  • 前言 當(dāng)我們?cè)诜治鯥OT設(shè)備,如智能攝像頭、智能門鎖、智能路由器等等產(chǎn)品時(shí),采用傳統(tǒng)的安全檢測(cè)手段,如對(duì)APP的逆...
    Yaseng閱讀 800評(píng)論 0 3
  • 大學(xué)的時(shí)候,幫朋友寫的操作系統(tǒng)調(diào)研的作業(yè),最近整理過去的文檔時(shí)候偶然發(fā)現(xiàn),遂作為博客發(fā)出來。 從串口驅(qū)動(dòng)到Linu...
    free_will閱讀 7,680評(píng)論 7 59
  • DOS HOP 2018,1月課表。 不管你是想跳舞、還是想跳舞、或者你想跳舞,都可以來一起跳舞! 魔都新玩法,如...
    DosHop潮尚舞蹈閱讀 200評(píng)論 0 0

友情鏈接更多精彩內(nèi)容