公司:深圳市創寶來科技有限公司
聯系人:蘇先生
聯系方式:18923859947QQ:3005367043
公司網址:www.szcblic.com
專做進口原裝,誠信經營,大量現貨庫存,歡迎您隨時咨詢
作為Flash芯片內容提取系列的第一部分,本文將介紹如何拆焊Flash芯片,設計及制作相應的分線板。
該系列將詳細講解及實踐對嵌入式設備的非易失性存儲的簡單有效攻擊手段。這些攻擊包括:
(1)讀取存儲芯片內容;
(2)修改芯片內容;
(3)監視對存儲芯片的讀取操作并遠程修改(中間人攻擊)。
想想,當你拆開一個嵌入式產品,卻被擋在Flash之外,好奇的你一定想對它一探究竟吧!那么,下面我們就開始!
拆焊Flash芯片
為了讀取Flash芯片的內容,有以下兩個基本途徑:
(1)直接將導線連接到芯片的引腳;
(2)把芯片拆下來,插到另一塊板子上。
下面介紹的Flash為BGA(球形柵格陣列)封裝——無外露引腳。因此,只能選擇拆焊的方法。
圖:目標芯片
拆焊法的優點:
(1)可避免對電路板上其他器件造成影響;
(2)可以很容易看到芯片底部的布線;
(3)可用其他芯片或微控制器代替原芯片。
一些不便之處:
(1)電路在缺少完整器件的情況下無法運行;
(2)在拆卸過程中,一些鄰近器件可能被損壞;
(3)如果操作不恰當,Flash本身可能毀壞。
OK,拆焊是吧?你看,下圖所示的熱風槍簡直就是神器。只要將芯片周圍加熱,便可以很容易地拿下芯片:
圖:熱風槍拆焊
這種辦法簡單、快速只是可能傷及無辜——焊掉鄰近的元件,所以,務必小心翼翼。
下圖顯示芯片拆下后PCB的布線。觀察圖片,猜想底部的兩列引腳為空引腳,因為他們壓根就沒接入電路。
圖:拆焊下來后
用KiCAD定制分線板
現在該做什么?BGA封裝簡直就是一團糟,依然無法外接導線。
一種可行的方法是制作分線板。通常,分線板是將芯片的所有針腳的位置“鏡像”下來,這樣就能將芯片的引腳引接出來。
為此,我們首先要搜集芯片的相關信息。大多數情況下,芯片的型號都印制在芯片上,這樣我們就很容易識別。如上圖,芯片上第一行為MXIC代表MacronixInternational公司,第二行為芯片的具體型號MX25L3255EXCIdatasheet。以下為datasheet資料:
圖:針腳排布
PCB的設計可由KiCAD,常用的EDA軟件實現。
分線板的設計過程與其他PCB板一樣:
1.新建電路板,畫出電路簡圖,標明元器件的具體型號
圖:step1
2.確定芯片的具體尺寸
根據之前datasheet的資料。我們添加1個4×6的網格作為整個芯片的BGA封裝,2個1×4的網格作為連接芯片8個有效引腳的接線柱。最后一步是,用線路將這些器件連接起來:
圖:step2
轉接板的設計到此為止,接下來是如何把設計轉化成的PCB。
PCB制作
PCB就像是由兩層銅和一層基板壓制成的三明治,導線分布在銅上面。
根據制作流程,分為:
(1)蝕刻法;
(2)數控銑法。
以下為兩種方法的具體步驟:
蝕刻法
蝕刻,即是用化學藥品逐步除去銅的過程。我們先用油墨保護覆銅板上的線路及要保留下來的銅。
1.首先,用熱轉印法制作PCB。PCB電路圖用激光打印機打印在亮光紙上。然后,把亮光紙緊貼在覆銅板上,加熱和施以壓力,使亮光紙上的電路圖轉印到覆銅板上。通常,這個過程用熨衣服的熨斗即可完成,但是專用的壓制器會使加熱及受力更加均勻,更容易成功。
2.接下來是蝕刻,將整塊PCB板浸沒在腐蝕液,以此來去除多余的銅。
蝕刻后的分線板,轉印的墨粉還附著在上面:
圖:step3
除去墨粉后:
圖:step4
現在可以準備手工焊接了。微型焊接與正常焊接一樣,只是器件的尺寸極小,因此需要借助顯微鏡。
此外,傳統的焊接用的是線狀的焊錫絲,而BGA微型焊接用的是錫球。
圖:step5
接下來,開始重整錫球:
(1)將一個新的錫球放置在凹槽上,加熱,熔化錫球;
(2)校準芯片和板子;
(3)回流。
圖:step6
錫球重整完成:
圖:step7
芯片焊接完成后的最終結果:
圖:step8
數控銑
作為替代方法,數控銑僅是將需要的線路和剩余的銅隔離開來而已。
(1)5X5的BGA通常用于制作PCB,而4X6的常用于分線板。我們設計5X5的是為了該分線板可以直接插接在通用EEPROM編程器的ZIF插槽里,電路簡圖如下:
圖:step9
(2)芯片的尺寸與前面設計的4X6的一樣,只是網格變成5X5,板上的布線也稍顯復雜:
圖:step10
(3)由于KiCAD無法直接生成與數控銑兼容的目標文件,因此,我們用Flatcam接收Gerber文件并確定數控銑隔離的導線的路徑:
圖:step11
圖:step12
(4)接下來將生成的STL文件導入bCNC——數控銑的終端控制程序,如下圖所示:
圖:step13
雕刻過程中:
圖:step14
(5)板子雕刻完成:
step:15
最終結果:
圖:step16
(6)下一步,涂覆阻焊層,保護銅不被氧化,并用紫外燈固化:
圖:step17
圖:step18
(7)阻焊層覆蓋了BGA的銅片及1X4的接線柱,我們得刮掉這個薄層,使銅片露出來:
圖:step19
(8)給各個節點焊錫:
圖:step20
圖:step21
(9)回到數控銑,打孔,切削PCB的邊緣:
圖:step22
圖:step23
(10)最終成品,BGA焊接在板子上,準備插到EEPROM編程器上:
圖:step24
結論
第一篇文章的結論是,了解了如何拆焊Flash芯片和如何設計PCB,以及制作PCB的兩種不同方法。