如何拆焊Flash芯片?
(1)讀取存儲芯片內(nèi)容;(2)修改芯片內(nèi)容;(3)監(jiān)視對存儲芯片的讀取操作并遠(yuǎn)程修改(中間人攻擊)。
想想,當(dāng)你拆開一個嵌入式產(chǎn)品,卻被擋在Flash之外,好奇的你一定想對它一探究竟吧!那么,下面我們就開始!
拆焊Flash芯片
為了讀取Flash芯片的內(nèi)容,有以下兩個基本途徑:
(1)直接將導(dǎo)線連接到芯片的引腳;(2)把芯片拆下來,插到另一塊板子上。
下面介紹的Flash為BGA(球形柵格陣列)封裝——無外露引腳。因此,只能選擇拆焊的方法。
拆焊法的優(yōu)點(diǎn):(1)可避免對電路板上其他器件造成影響;(2)可以很容易看到芯片底部的布線;(3)可用其他芯片或微控制器代替原芯片。
一些不便之處:(1)電路在缺少完整器件的情況下無法運(yùn)行;(2)在拆卸過程中,一些鄰近器件可能被損壞;(3)如果操作不恰當(dāng),F(xiàn)lash本身可能毀壞。
OK,拆焊是吧?你看,下圖所示的熱風(fēng)槍簡直就是神器。只要將芯片周圍加熱,便可以很容易地拿下芯片:
這種辦法簡單、快速只是可能傷及無辜——焊掉鄰近的元件,所以,務(wù)必小心翼翼。
下圖顯示芯片拆下后PCB的布線。觀察圖片,猜想底部的兩列引腳為空引腳,因?yàn)樗麄儔焊蜎]接入電路。
用KiCAD定制分線板
現(xiàn)在該做什么?BGA封裝簡直就是一團(tuán)糟,依然無法外接導(dǎo)線。
一種可行的方法是制作分線板。通常,分線板是將芯片的所有針腳的位置“鏡像”下來,這樣就能將芯片的引腳引接出來。
為此,我們首先要搜集芯片的相關(guān)信息。大多數(shù)情況下,芯片的型號都印制在芯片上,這樣我們就很容易識別。如上圖,芯片上第一行為MXIC代表Macronix International公司,第二行為芯片的具體型號MX25L3255EXCI datasheet 。以下為datasheet資料:
PCB的設(shè)計(jì)可由KiCAD ,常用的EDA軟件實(shí)現(xiàn)。
分線板的設(shè)計(jì)過程與其他PCB板一樣:
1.新建電路板,畫出電路簡圖,標(biāo)明元器件的具體型號
2.確定芯片的具體尺寸
根據(jù)之前datasheet的資料。我們添加1個4×6的網(wǎng)格作為整個芯片的BGA封裝,2個1×4的網(wǎng)格作為連接芯片8個有效引腳的接線柱。最后一步是,用線路將這些器件連接起來:
轉(zhuǎn)接板的設(shè)計(jì)到此為止,接下來是如何把設(shè)計(jì)轉(zhuǎn)化成的PCB。
PCB制作
PCB就像是由兩層銅和一層基板壓制成的三明治,導(dǎo)線分布在銅上面。
根據(jù)制作流程,分為:(1)蝕刻法;(2)數(shù)控銑法。
以下為兩種方法的具體步驟:
蝕刻法蝕刻,即是用化學(xué)藥品逐步除去銅的過程。我們先用油墨保護(hù)覆銅板上的線路及要保留下來的銅。1.首先,用熱轉(zhuǎn)印法制作PCB。PCB電路圖用激光打印機(jī)打印在亮光紙上。然后,把亮光紙緊貼在覆銅板上,加熱和施以壓力,使亮光紙上的電路圖轉(zhuǎn)印到覆銅板上。通常,這個過程用熨衣服的熨斗即可完成,但是專用的壓制器會使加熱及受力更加均勻,更容易成功。
2.接下來是蝕刻,將整塊PCB板浸沒在腐蝕液,以此來去除多余的銅。
蝕刻后的分線板,轉(zhuǎn)印的墨粉還附著在上面:
除去墨粉后:
現(xiàn)在可以準(zhǔn)備手工焊接了。微型焊接與正常焊接一樣,只是器件的尺寸極小,因此需要借助顯微鏡。
此外,傳統(tǒng)的焊接用的是線狀的焊錫絲,而BGA微型焊接用的是錫球。
接下來,開始重整錫球:
(1)將一個新的錫球放置在凹槽上,加熱,熔化錫球;(2)校準(zhǔn)芯片和板子;(3)回流。
錫球重整完成:
芯片焊接完成后的最終結(jié)果:
數(shù)控銑
作為替代方法,數(shù)控銑僅是將需要的線路和剩余的銅隔離開來而已。
(1)5X5的BGA通常用于制作 PCB,而4X6的常用于分線板。我們設(shè)計(jì)5X5的是為了該分線板可以直接插接在通用EEPROM 編程器的ZIF插槽里,電路簡圖如下:
(2)芯片的尺寸與前面設(shè)計(jì)的4X6的一樣,只是網(wǎng)格變成5X5,板上的布線也稍顯復(fù)雜:
(3)由于KiCAD無法直接生成與數(shù)控銑兼容的目標(biāo)文件,因此,我們用Flatcam接收Gerber文件并確定數(shù)控銑隔離的導(dǎo)線的路徑:
(4)接下來將生成的STL文件導(dǎo)入bCNC——數(shù)控銑的終端控制程序,如下圖所示:
雕刻過程中:
(5)板子雕刻完成:
最終結(jié)果:
(6)下一步,涂覆阻焊層,保護(hù)銅不被氧化,并用紫外燈固化:
(7)阻焊層覆蓋了BGA的銅片及1X4的接線柱,我們得刮掉這個薄層,使銅片露出來:
(8)給各個節(jié)點(diǎn)焊錫:
(9)回到數(shù)控銑,打孔,切削PCB的邊緣:
(10)最終成品,BGA焊接在板子上,準(zhǔn)備插到EEPROM編程器上:
結(jié)論
了解了如何拆焊Flash芯片和如何設(shè)計(jì)PCB,以及制作PCB的兩種不同方法。
作者:S2ealea
來源:FreeBuf.COM▍