Teardown · Ledger Flex · 2026
Ledger Flex 植入物 3D 拆解
把 Flex 從背面一層層拆開:植入板藏在可拆鋁端蓋那一側,靠一段延伸排線接上螢幕訊號,換小電池騰出空間,天線貼在背蓋內側。拖曳可以旋轉、雙指或滾輪可以縮放;切換下方的版本比較原廠和兩種植入物。版本 A、B 是本頁自己的代號。
示意模型:配置依拆機照片(Karpelès、BigFang、Ledger 官方)與研究者描述,非實際比例;主板上晶片的位置是示意。
- 植入物(攻擊者加的)
- 安全晶片 → 螢幕的資料
- 原廠零件
從螢幕到攻擊者手上:五個步驟
-
1 · 產生
設定錢包時,安全晶片 ST33K1M5 產生 24 個單字。私鑰從頭到尾不離開晶片。
-
2 · 顯示
Ledger 說 Flex 的螢幕由安全晶片直接控制。單字經主板上的螢幕排線,送到 480×600、16 階灰的 E Ink。
-
3 · 竊聽
原本的螢幕排線被剪短、折起來,多一段延伸排線插回原接頭,把同一組訊號分給植入板。
-
4 · 解碼
一個畫面 480×600×4 bit 約 144 KB。版本 B 的 STM32U575 有 786 KB SRAM,放得下整個畫面。
-
5 · 送出
LTE 模組和 SIM 把結果送出去。版本 B 的天線貼在背蓋內側、NFC 線圈下方,用 u.FL 接回植入板。
和 Nano X 有什麼不同
Nano X 的植入物焊在主板的測試點上;Flex 的版本不用焊,直接在螢幕排線和主板接頭之間多插一段延伸排線。植入板用 Flex 原有的螺絲柱固定,連接器、螺絲孔都照 Flex 的結構設計,板子以拼板出貨、上面有測試點,Karpelès 形容做法「very professional」。
空間是靠把原廠約 200 mAh 的電池換成 160 mAh 擠出來的。版本 B 的 MCU 是 STM32U575(786 KB SRAM),Karpelès 猜是因為螢幕比較大、字形也不同,需要更強的晶片。
量產產品都應該抽查
Genuine Check 驗證的是安全晶片,不是整台機器,Ledger 自己的購買指南也寫明它偵測不到這類植入物。新加坡機場那台買來後從沒開封,植入物是在賣出之前就裝進去的。改裝發生在出廠之後,抽查就要延伸到通路:用一般消費者的身分從各個通路買回來拆開檢查。
照這次的拆解結果,抽查時至少看得到這幾件事:
- 電池:原廠約 200 mAh,版本 B 換成 160 mAh,電池尺寸不同。
- X 光:端蓋那一側多一整條植入板,背蓋內側多一片天線,不用拆殼就能和原廠樣品比對。
- 外殼:背蓋是膠黏的,要撬開才放得進植入物。Ben Yorke 那台的開口槽附近就有細小的撬痕。
- 待機電流:多一顆 MCU 和一個 LTE 模組就會多耗電。目前還沒有人公開量過,這一項值得補上。
還不知道的事
Flex 的螢幕匯流排是什麼介面、E Ink 控制器型號、版本 B 的 LTE 模組型號、植入板的實際尺寸,目前都沒有公開資料。韌體還沒有被傾印出來,所以不知道它只抓設定時的助記詞,還是會記錄更多畫面。版本 A 和版本 B 誰先誰後,也沒有人說明。
Special thanks
這一頁的零件型號、配置和照片,都來自下面這些研究者公開的拆解與資料。
- Mark Karpelès 拆開新加坡機場的 Flex(影片)
- Mark Karpelès 植入物公開資料庫(料號、版本、照片)
- Ben Yorke(@BenYorke) 機場購入、發現外殼刮痕並寄出檢查
- BigFang(@dafangbigfang) 另一台版本 B 的拆解與乾淨機對照