硬件破解視頻,電路板上隱藏的後門 -1
準備好了嗎
沒有
好緊張
不要不要
大家好
我是希賢
咱們又見面了
今天咱們要搞一個特別刺激的事情
就是我小時候就老聽人家吹牛
就是這個人特別的厲害
硬件工程師
能夠破解什麼那種逆向工程那些芯片
就是拿著剪個什麼導彈的碎片
什麼有個電路板
他就能把這個電路板的東西給破解出來
今天正好是機緣巧合
我不是最近一直玩小汽車上帝視頻對吧
正好就搗碎這東西
我手裡就翻出了一個
好久以前2015年的一個小路由器
這個大家都有
那麼今天我就帶著大家
一塊拆解一下這個路由器
然後咱們把它給硬件破解出來
好
那過來咱們看看這個路由器
我現在就把螃蟹蓋打開
我們就看見這個電路板就裸露出來了
對吧
那麼如果我們想破解它
比如說我們都知道這裡邊肯定有操作系統
對吧
有個web界面
它是有邏輯的
我們從哪去找它呢
上次在小汽車的視頻裡邊
我們就提到了幾個通訊的方式
在這種集成電路上
常用的IIC
SPI
還有UART
也就是咱們說的串口
USB串口
那麼在那個小車上
比如說我一些個低頻的東西
比如我屏幕顯示個字
對吧
我不用每秒鐘變個幾萬次的
那種東西我們用IIC來串聯
對於高頻次通訊的東西
比如說我那上面用的2.4GHz的通訊模塊
這個就是一個高頻次的
這個就是用SPI接口
那麼我要開發它
甭等最後我裝到裡邊
你可能我會把USB接口什麼咔咔全去掉
但我要開發它
我總得有一個調適
能夠跟它互動的一個方式
這就是給開發人員用的調適接口
那麼在這個板上
一般從電路設計上
因為他這個廠家的研發人員
他做成板子了
他也沒那麼大的自信
說我根本不留任何調適的機會
要麼他都沒法質檢
對吧
他只要能夠質檢這個板子
他一定留了一個調適接口
那麼一般最常見的就是UART接口
UART就是我們說的USB的這種調適接口
這種接口的特徵4條腿
所以基本上你這個板子
我們看一眼
整個板子望去
這是不是有一片4條腿連在一起的區域
對吧
放大
但這4條腿上什麼都沒寫
就寫一J3
什麼都沒寫
這還有一個JP1
JUMPER1
也沒有任何定義
對吧
我們要怎麼來判斷這4條腿分別是連什麼的
我們就知道怎麼來對它進行硬件調適
好
那咱們就準備好這個萬用表
我們先假設他肯定用的是UART的
因為這4條腿很標準
別的SPI不是4條腿
那是一般至少得5個引腳
你看SPI是電源正極接地
然後使能引腳
然後MISO和MOSI
這5個引腳
如果是IC
那IC倒是也是4個引腳
但是它的定義不一樣
還有我們已經判斷了
這肯定不會用IIC
因為IC沒法做調適
就是如果調適
我一般喜歡要雙向互動
就是我給這命令
我看這命令反應怎麼樣
而IC協議它是
如果它是主
它必然是主
它是主
它只能向我輸出
我是沒法給它回饋命令的
所以沒有人用IC做調適
SPI也是
它是主
只有UART是雙向的
好
那咱們就現在就來趟這個
首先這是一個淘寶上9塊9的一個萬用表
老便宜了
那櫃頭充電的
你能看見吧
我先把它打到封銘檔上
這兩個表接通是有聲音的
測試一下表是正常
我們第一件事就要找接地
找地線其實特別容易
就是基本上你看那個板上
這麼暴露鐵皮的
這都是地
所有地線的特徵就是地線都通
我們要做的第一件事
就是先找到它的接地
那麼在這種電路里
不管你是哪個芯片
一定要供地
所以地線其實是最好找的
比如說這種帶鐵殼的
這一定是地
我們可以看到地線在這個系統上
應該都是互通的
如果這個不是地的話
那我們就找這個觸點
好
這倆地線是通的
看了吧
那這還沒接地
沒關系
這是地沒問題了
那我手按到這個地線的這個極上
這四條腿
我就這麼去看碰哪個響
這個不響
這個響
四條腿的這個腿是響的
對吧
這就是地線
我知道地線了以後
我要找它的這個VCC
因為它四條腿定義是VCC供電
然後接地
然後一個讀一個寫
就這麼四個引腳
我測這個
我就要把電給接上
注意
我要找地線的時候
我是不用接電的
找供電的時候
你就得接上了
好
接上電了
還是把這個黑的標別
按到地線上
然後就挨個量
能看見屏幕吧
那我還是從這開始量
我就把這個表打到電壓檔
打到20V的電壓檔
然後從這開始量
我們看這個腿
特別穩的3.33V
看了吧
按出來
能看見吧
這亮度
然後這個我已經知道對地
這是零了
對吧
第二條腿
第三條腿呢
也接近是零
但它不是地
它就是零
那它大概率就是讀取信號用的
因為讀取它是不放電屏的
它是等著遠端給它電屏
它來讀
那麼這條腿呢
2.6V
還在跳動
對吧
那這個大概率就是它的輸出
我現在呢
模擬一下我重啟
如果它真的是輸出
它在這應該會有跳動的信號
看吧
這個大概
剛纔有信號在跳動
看了吧
證明它在往外輸出信息
那麼也就已經就判斷了
這個就是我們要找的UART
並且它的這個四條腿的定義
我們已經清楚了
正極接地
然後呢
這個是
這個是它的讀取
也就是我要對著它進行寫入命令
這個是它的輸出
也就是待會我要接到我的輸入上
這樣我們就可以用工程師模式
和這個主板進行通訊了
這個就是UART協議
然後呢
咱們既然就還在這
我這拿著萬用表
我們就來量一下
有沒有註意到
這個東西就是
它的供電是3.3伏的
看了吧
這是3.3伏的
然後你就隨便拿這個表
就在這些上邊量這些芯片
比如說我找這個芯片
別給它短了
這是它的供電口
也是3.3伏
看了吧
3.3伏
那這9伏
它不是輸入是9伏電嗎
怎麼到這塊真正幹活的都是3.3了呢
對吧
我們不幹擾這個芯片
我把這個表放這
你看我還是這個黑標給放到地線上
我就隨便量這塊的電容電阻
如果有帶電的
這是2.幾的
這也是3.3
看了吧
就是你幾乎在這板子上
它供電9伏
你是找不著9伏電的
那9伏電去哪了
好
我們就來看
我這條線還是在地線上
這通著電沒錯
這個殼是跟誰都不連
這殼是跟誰都不連
它的觸點在這
好
找到9伏了對吧
這是它進來進了一個特別小的
我都看不見這電阻
這是9伏電
那麼這個9伏電過來
基本上到這邊
到這邊不就沒有了嗎
對吧
它是這麼走
9伏電進了大電容
其實離它最近的就是這個芯片
這是一個8條腿的
這也8條腿
看得見嗎
這是芯片
好
這個芯片的技術手冊
我這手裡正好有一套
這個芯片打印出來的就是它
它的芯片標號
就是這個AP3502E
我們可以看著它是幹嘛
它的輸出電壓範圍是4.5伏到18伏
它是固定頻率340千赫茲
它的最大輸出兩安
它是可控輸出模式
然後這個幹嘛
它是一個PWM波同步step down
DC to DC converter
也就是說它是一個降壓模塊
其實我當時兩年前
我還做了個電源給它
其實這個東西通過我們反差電路
我們就看見了
我這是9伏
我從4.5伏到18伏進這模塊
它都能夠接受
然後它就會輸出一個穩穩的3.3伏
所以從它這進來以後
這個板子上所有的電路
都是3.3伏的
你看9伏
我們可以在這個板子
在這找到
7
這是8
到這是3.3的輸出
看到了
就是能看見在這
是它那個8.3伏
因為9伏過了一個
這有一個防止反接的一個二極管
在這呢
這是電路上
供電進來特別規矩
進了一個二極管
這是防止你把正負極接反了
反了它不通
但是你過了層二極管
就有一個0.7伏的壓降
所以9伏減掉這個0.7
剩下3.8伏
3.8伏直接就跑到這個輸入腳上來了
看到了嗎
就8.3伏在這
然後供完電輸出
輸出了一個穩穩的3.3伏
所以打這以後
整個這個芯片就瞭解清楚了
3.3伏對吧
然後咱們順便也在這瞭解一下
這個大芯片
這個長得就跟內存似的
實際它就是個內存
我這正好
因為這種芯片
你不太可能找到這芯片
什麼一個字都不寫的
要不它自己工程師也沒法調試
特別是這個引腳
哪塊是1號腳
它這是一定有定義的
所以你是很容易找到它的技術資料
這個芯片DDR SD ROM
這芯片多大呢
是4兆乘以16乘以4
這三個數乘起來是256
256什麼
兆比特
然後我們這內存
存東西是存字節的
所以除以8
這就是一個32兆字節的一個內存
它是內存
它不存數據
我們再看這幾個芯片
這是它的MCU
這不用說了
就相當於大CPU
這個MCU就和我小汽車上的那個是一樣的
或者和這種板子上的
這個被我拆下去了
這個芯片就是它的主處理器
叫MCU單板機
當然這個單板機的工作頻率是比較高的
它應該是200多兆赫以上至少
高的有到1G
這我得具體查它的參數
我手裏拿的這個也是MCU
但是這是Arduino特別便宜
這8塊錢一個
一個美元一個
我那小汽車不就拿這做的嗎
所以它倆的結構是差不多的
區別在於什麼
就是我們知道它是MCU
它是一個處理器
這裏邊沒寫程序
CPU內存都有了
硬盤就是它
這裏邊有一個可寫入區
就像我這個芯片一樣
也有一個2K就那麼小的一個可寫入區
它這塊寫的是一個bootloader
寫的是我的引導程序
也就是整個操作系統裏的那個Web界面什麼
沒寫到這裏
寫到硬盤裏了
這上面唯一長得像硬盤的就是它
對吧
當然它的封裝可以是8條腿
可以是16條腿
也有可能像iPhone似的
iPhone也是它的MCU
是那大的蘋果的那個處理器
它的硬盤存儲器也是另外一個
好
它的技術資料我也找到了
因為這東西都給標的特別清楚
我看是這個
待會我給你貼張照片
這個放大了能夠看見
MX25L3-206E
這是什麼
這是32兆比特的CMOS串行Flash
那我們就明白了
它是多大
它是一共32兆比特
32兆比特除以八是多少
4兆子減
32兆比特Structure
對
或者16兆比特雙通道模式
雙輸出模式
所以它的總容量也就已經是確定了
然後它說了它是一個串行Flash
這個是什麼概念
就是說它的讀寫模式
就可以通過SPI這個接口來去寫
並且在這個技術手冊
待會到電腦上
我有完整的好幾頁
就會有明確的這幾個引腳的定義
那麼我們現在就知道一事
所有的操作系統
你的WiFi密碼
你的所有的設置
都存到這個芯片裏了
那麼我想給它破解出來
待會我們就把它接到電腦上去
用這四個引腳叫調式引腳
我就可以看到這閃燈在輸出
它在工作
在幹什麼
然後就像我用Arduino做小車一樣
有那個叫Probe的夾子
或者我拿電焊
把這八條腿都給焊出來
引線來
然後接到這個芯片上
我就可以把它的數據給讀出來
讀出來以後
你的那些個用戶名密碼什麼的
包括這裏邊的所有程序
就都看到了
那基礎知識也講的差不多了
就是基本上這些東西
那麼下一步咱們就實操一下
我把它接到電腦上接
咱們看看
從這我能拿到什麼輸出的信號
好吧
好的
然後我們再玩一個別的好玩的
比如說這個是一個電池
9V供電對吧
我其實可以把它當個外部電源
也可以把這個設備給啓動起來
因為剛才我們看到了
這個5V的這個
我這5V的USB轉到3.3都能啓動它
那我現在呢
把我的這個供電引腳給拔了
其實我把它的地線也可以拔掉
因為我不給它
我不給它提供電源了
我就用兩根線一個讀一個寫
我把這兩個線拔掉
就剩兩根線一個讀一個寫對吧
然後我用外部供電
一樣可以啓動它
啓動了
為什麼我不用這個呢
就是我也不想讓我的電腦這一塊
增加太多的供電的這個壓力
另外就是這個線畢竟是虛的接觸
所以我要一晃
它那個就就充血了
然後重新啓動了一下
連接了沒有讀出數據了
好那這個什麼情況
應該是我需要和它供電一下
是不是
就是我把它我的地線和它的地線接在一起
但是我的主供電讓它從外部電源去拿
你再試一下
好供電了以後
我能讀這個數據
這個時候這個時候
它的主供電沒有走我的
主供電走的是這根電池上的
現在可以穩穩的啓動了
然後還能看一些有意思的東西
就是你是和這個控制檯是交互的
比如說我在這後邊有兩個按鍵
如果我按一下這個鍵
它在這會給我一個反饋
這個能先啓動完
現在就啓動起來了
Reset button press
Wi-Fi button press
再按一下Wi-Fi button press
也就是說在這個在這條控制迴路上
我就已經能夠和這個系統交互了
它的這個版本
早年間的這個ROM做的還行
就是它沒有那個那個安全漏洞
就是它在新版本的一個路由器上
直接在這就獲得入色權限了
但是沒關系
這個想破解它也行
就是我剛才說的拿個夾子
我把這個幾個引腳給它給它連起來
在別的設備上改它的文件再寫回去
就還是這個系統就可以在這獲得權限了
這個視頻的主要內容就這些
如果大家想看怎麼來去提取這個文件
我今兒太晚了
我就不想看東西了
過兩天我再拍第二個視頻
我來給大家解釋
怎麼從這個芯片裡把數據提取出來
然後呢
我這正好是之前撿垃圾品
這是純是垃圾板啊
你撿到了一個電路板
假如它是什麼導彈呀
或什麼高科技的這個這個設備什麼的
你一定要認識這裡邊的這些大芯片
對吧
每個芯片呢
你查它的技術手冊
或者根據經驗查這引腳這種定義
能大概知道它的功能
那麼這些芯片呢
你可以大致分幾類
一種呢是純功能性的芯片
比如這個是電壓轉換的
那是比較器或者定時器
不能寫程序的
那個比如說像這個芯片
就是不能寫程序的
那這個很簡單
那麼能寫程序的芯片就這種MCU
對吧
小個的MCU就像我那個小汽車上的這個
它的程序相對簡單
因為那個程序呢
一共加起來就32K那麼大
做比較複雜的事
你看那路由器又是WiFi又是什麼
對吧
你看綁架
它不會寫的那麼簡單的程序
還有一個特點
內容程序呢
是隻能夠單線程的去操作
而ESC32是有稍微多線程
那就看你的這個設備
你假設它是一個多複雜的應用
越高級的應用
它的這個主CPU是更負責運算的
它的數據就都會存到別的芯片
所以呢
假設這是一電腦板
我也不知道是誰的
這個電腦板呢
是壞的
不啟動對吧
順便我們也可以拿著這套診斷
我們來看看它怎麼不啟動
我把整個這套
這套的邏輯啊
全都插到這個板上去
這這肯定這燈都被人給耗著差不多了
肯定不亮
我現在沒有接供電
把它清零
你可以看到我在這上電
還有反應
燈也亮了一下
哎呦我操啟動了
我操太給
我操
這個板子好大
寶貝
你看啊
這套這個這個這個垃圾板都被拆成這樣
它啟動了
之前沒啟動啊
對啊
我這這個太神奇了
那好吧
你可以多選擇
你看啊
我告訴你它能洩露什麼信息
我在這看
你放大一下
我手得一鬆手
這就沒了
對
我看看這這就得一行一行的看
它的這個芯片結構和我們的這個完全一樣
它的SquareFS Version是這個叫什麼
Philips Launcher
我的那個是2015年的版本
它的這個版本
623
TP-LINK-I的
Logos
我們倆的固件版本不完全一樣
但是結構就非常像
所以我還真的就能把它的這邊讀出來
我可以看看它有沒有WiFi
至少我在這
它的密碼是不會顯示出來的
但是它的WiFi名字一定會顯示給我
看看這
你貼近了
給特寫了
我就可以知道這個這個WiFi這個路由器之前的主人
給它的WiFi名字叫Dolzig
SSID啊
看到吧
然後它的所有的配置信息
比如說它這邊的日誌
我就能知道它曾經有過多少電腦燈號
就是我們的路由器上都有一個日誌
網絡連接日誌
這些日誌一定它沒有消失
它已經存了
那就存到這兒了
所以如果我拿鉗子把這個啪引腳讀出來
整個這上面數據我是能夠拿到的
而且我我猜呀
這個路由器是壞了
它應該是供電壞了
你看如果把我的主供電拔掉
這是我的電池電源
我插在這
也啟動
那這擺架子扔它幹嘛
好玩吧
好玩
我經常是就是撿了個芯片
我能把這裏邊之前人家的數據給讀出來
太刺激了
這個
在這兒
這不是Dolzig的WiFi嗎
它不是啟動了嗎
對
我在我的WiFi這兒
看到了
那是WiFi
對
它沒接天線啊
但是它有一根導線
這個導線也可以當天線是吧
刺激吧
看不見嗎
我現在懷疑這這組引腳和這個芯片應該有關係
因為你想如果是我來設計這個主板
我不應該是每次想調試
我都把它焊下來
或是拿夾子
所以我肯定還會留別的腳位
這四個是一組
這是U2的
我剛剛已經這東西就得挨個量啊
我已經把它的這個VCC給測出來
你看我把圖紙倒過來拿
我的這個引腳定義
比如VCC應該在左邊
看它是通的
然後呢
我有一個WP引腳在這邊
我剛剛測通的是這個引腳
看這是通的
那就證明這組接口有到這芯片的
因為你如果光測出它的VCC和接地
這個不太說明什麼
但是如果有它的數據引腳往這連了
那這個我就需要一個一個的趟
我就知道這十條腿
這是一共二六十二十二條腿分別連的是哪
它一定有作用
一般都是用於留著這個工程師調試用的
但他不會給你說明書
所以如果你能把這個趟出來
那就不用去焊這個線了
行了這個我們接著玩吧
我買了一個夾子
我就不要焊那個線了
那個夾子可能得明後天到
到了以後
我就可以把這個圓數據完整提出來
我不想做你的敵人
你知道嗎
蠻刺激的
一個電路板
拿著可以反向工程出所有的東西來
哈大腕機器謝謝你
王科學家
王科學家就是
好玩好玩好玩好玩
好那個大家要是有興趣啊
給我點贊留言
還想看破解點什麼
就我小時候覺得特別爆科技
我現在看這個就是一玩
但真的好玩
下回再見了
謝謝謝謝關注拜拜
