所有Android APK都必須由開發者用私鑰簽名後才能安裝,這個簽名會留下一個無法偽造的SHA-256指紋。只要你手上的幣安APK的指紋和幣安官方公佈的指紋完全一致,就100%確認是原版,沒有任何被篡改的可能。建議從幣安官網獲取APK後按本文方法驗證,或直接在可信裝置上裝幣安官方APP;iPhone使用者檢視iOS安装教程。
數字簽名是什麼
Android系統要求所有APK在安裝前必須經過數字簽名。簽名的工作原理大致是:
- 開發者生成一對公鑰和私鑰
- 釋出APK前,用私鑰對APK內容計算出一個簽名塊
- 簽名塊連同公鑰證書一起打包進APK
- 安裝時Android系統用公鑰驗證簽名是否有效
- 任何對APK檔案的修改都會導致簽名失效,系統拒絕安裝或報錯
私鑰由幣安官方嚴格保管,外界無法獲取。這意味著:
- 沒有人能偽造幣安的簽名(理論上破解需要數億年)
- 任何被植入程式碼的APK都必須重新簽名,簽名指紋會完全不同
- 只要指紋對得上,APK就一定是原版
這就是數字簽名的威力——它是APP防偽的最終防線。
簽名驗證的核心概念
什麼是 SHA-256 指紋
SHA-256是一種雜湊演算法,它能把任意大小的資料轉換成一個固定64位十六進位制字串。對同一個證書,無論誰計算都會得到完全相同的SHA-256。
幣安的簽名證書指紋形如:
XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:
XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
(32個位元組,每位元組用2位十六進位制表示,總計64位字元)
這串字元就是幣安APK的"DNA"——任何真正的官方APK都會輸出這串完全一樣的指紋。
三種簽名方案
Android經歷過幾代APK簽名方案:
| 方案 | 引入版本 | 特點 |
|---|---|---|
| v1 (JAR) | Android 1.0 | 基於JAR簽名,僅簽META-INF/ |
| v2 (APK Sig Scheme v2) | Android 7.0 | 簽整個APK,安裝更快 |
| v3 (APK Sig Scheme v3) | Android 9.0 | 支援密鑰輪換 |
| v4 (APK Sig Scheme v4) | Android 11 | 支援增量更新 |
幣安APK同時使用v1+v2+v3簽名,保證在所有Android版本上都能驗證通過。
方法一:用 apksigner 驗證
apksigner 是Google官方提供的工具,驗證最權威。
安裝 apksigner
Windows:
- 下載 Android Command Line Tools(谷歌官方)
- 解壓後在
build-tools/<版本號>/目錄下找到apksigner.bat - 把這個目錄加到環境變數 PATH
macOS / Linux:
brew install android-commandlinetools
或者下載Android Studio,apksigner會在 ~/Library/Android/sdk/build-tools/xx.x.x/ 目錄。
驗證簽名有效性
最基本的驗證:
apksigner verify --verbose Binance.apk
正常輸出:
Verifies
Verified using v1 scheme (JAR signing): true
Verified using v2 scheme (APK Signature Scheme v2): true
Verified using v3 scheme (APK Signature Scheme v3): true
Number of signers: 1
任何一項為 false 都說明簽名有問題,要麼是APK損壞,要麼是被篡改。
列印簽名證書詳情
apksigner verify --print-certs Binance.apk
輸出示例(指紋為示意值):
Signer #1 certificate DN: CN=Binance Holdings Limited, O=Binance, L=George Town, ST=Cayman, C=KY
Signer #1 certificate SHA-256 digest:
a1:b2:c3:d4:e5:f6:07:18:29:3a:4b:5c:6d:7e:8f:90:
a1:b2:c3:d4:e5:f6:07:18:29:3a:4b:5c:6d:7e:8f:90
Signer #1 certificate SHA-1 digest:
a1:b2:c3:d4:e5:f6:07:18:29:3a:4b:5c:6d:7e:8f:90:11:22:33
Signer #1 certificate MD5 digest:
a1:b2:c3:d4:e5:f6:07:18:29:3a:4b:5c:6d:7e:8f:90
關注三個欄位:
- certificate DN:應包含 "Binance Holdings Limited" 或類似的官方名稱
- SHA-256 digest:必須和幣安官網公佈的完全一致
- Signer 數量:必須是 1(多個簽名者可能意味著被二次簽名)
把你算出的SHA-256和官網數值對比,每一位都必須相同。
方法二:用 keytool 驗證
keytool是JDK自帶的工具,不用額外安裝(只要裝了Java就有)。
匯出證書
先把APK當作ZIP檔案解壓,找到 META-INF/ 目錄下的證書檔案(通常是 CERT.RSA 或 BINANCE.RSA):
unzip -p Binance.apk META-INF/CERT.RSA > cert.rsa
檢視證書指紋
keytool -printcert -file cert.rsa
輸出示例:
Owner: CN=Binance Holdings Limited, O=Binance, L=George Town
Issuer: CN=Binance Holdings Limited, O=Binance, L=George Town
Serial number: abc123def456
Valid from: Mon Jan 01 00:00:00 UTC 2020 until: Sat Dec 31 23:59:59 UTC 2049
Certificate fingerprints:
SHA1: A1:B2:C3:D4:E5:F6:07:18:29:3A:4B:5C:6D:7E:8F:90:11:22:33:44
SHA256: A1:B2:C3:D4:E5:F6:07:18:29:3A:4B:5C:6D:7E:8F:90:A1:B2:C3:D4:E5:F6:07:18:29:3A:4B:5C:6D:7E:8F:90
Signature algorithm name: SHA256withRSA
Version: 3
同樣對比 SHA256 指紋和官網公佈值。
方法三:線上工具驗證
如果沒裝命令列工具,可以用一些線上APK分析工具:
- APK Analyzer 類的網站(注意選擇信譽好的)
- AppMoD、APKMirror 的簽名校驗功能
上傳APK後會顯示簽名資訊,包括SHA-256指紋。
注意隱私風險:上傳APK到第三方網站相當於把檔案交給了他們。幣安APK本身不含你的個人資料,但仍建議:
- 只用知名的、口碑好的線上工具
- 驗證完後對方應該自動刪除你上傳的檔案
- 避免在手機號碼、賬號相關的APP上用線上驗證
方法四:手機上直接驗證
不用電腦的懶人方案:安裝一些包資訊檢視類APP(在可信應用市場裡),打開後選擇幣安,檢視其中的"簽名資訊"或"證書資訊"欄位,也能看到SHA-256指紋。
這種方法的前提是你手機上的這個資訊檢視APP本身是可信的。
驗證流程的完整閉環
推薦的完整驗證流程:
- 從 binance.com 下載APK
- 記下APK檔案大小,和官網公佈值對比(應在80-90MB)
- 執行
apksigner verify確認簽名有效 - 執行
apksigner verify --print-certs獲取SHA-256 - 和官網公佈的SHA-256對比
- 完全一致才安裝
- 安裝後檢查包名是否為
com.binance.dev
做完這七步,可以99.99%確認APK是原版。
常見問題
Q1: 我找不到幣安官網公佈的SHA-256指紋在哪
A:幣安官方在幫助中心的"如何驗證APK真偽"頁面會公佈。不同時期的主簽名可能不同(如果做過密鑰輪換),官網會列出所有有效的歷史簽名。找不到的話直接聯絡幣安客服獲取,不要用第三方網站上的"指紋"作為參考。
Q2: SHA-1 和 SHA-256 哪個更可靠
A:SHA-256更可靠。SHA-1理論上已經被證明存在碰撞漏洞,不應作為安全驗證的唯一依據。但對於APK簽名這種非敏感場景,SHA-1碰撞難度仍然極高。實際使用中兩者都對比,更加安全。絕對不要只看MD5——MD5已被徹底攻破。
Q3: 兩個不同版本的幣安APK 簽名指紋應該一樣嗎
A:應該完全一樣。因為使用的是同一個簽名證書。如果你對比 v2.91.0 和 v2.92.0 兩個版本的APK簽名,SHA-256指紋必須完全相同。不同的只是APK內容本身的雜湊,證書指紋是不變的。這就是你如何判斷"同一個開發者"的依據。
Q4: 簽名驗證通過了 但APP執行異常 是不是說明APP還是有問題
A:簽名驗證通過只能證明APK沒被篡改,不能證明APP執行時的一切都正常。如果簽名對但執行異常,可能是:① 系統版本不相容;② 網路問題;③ 本地快取損壞;④ 手機上有其他惡意軟體干擾幣安APP。首先嘗試解除安裝重灌 + 清除快取。
Q5: iOS使用者怎麼驗證APP的真實性
A:iOS不需要手動驗證簽名。Apple的沙盒機制決定了:從App Store下載的APP都由Apple簽名,系統會在每次啟動時自動驗證簽名。任何被篡改的APP無法在普通iPhone上執行。iOS使用者的重點是:確認是從官方App Store下載,開發者顯示為 Binance Holdings Limited。
簽名驗證是一次性投入
第一次學會apksigner的用法需要花10-20分鐘,但之後每次驗證新版APK只需要30秒。對比以下兩種場景:
- 不驗證的成本:萬分之一的機率裝到假APP,資產被盜,損失可能是幾千到幾十萬
- 驗證的成本:每次更新多花30秒
從數學期望上看,驗證APK簽名是回報率極高的習慣。對任何持有超過一千美元加密貨幣的使用者,這應該是每次更新APP的標準步驟。
如果覺得命令列太麻煩,至少做最基礎的兩步:
- 只從 binance.com 下載
- 安裝後檢查包名是
com.binance.dev
這兩步能擋住絕大多數仿冒版,給你的資產多一層保險。