Bu makale, OneKey Pro donanım cüzdanınızda yüklü olan ürün yazılımının, resmi OneKey GitHub deposunda yayınlanan açık kaynaklı ürün yazılımıyla eşleşip eşleşmediğini doğrulama sürecinde size rehberlik edecektir. SHA-256 Kontrol Toplamını karşılaştırarak, ürün yazılımının güvenilir bir kaynaktan geldiğinden emin olabilir ve cihazınızın güvenliğini garanti altına alabilirsiniz.
Kontrol Toplamı Nedir?
Kontrol toplamı, veri bütünlüğünü doğrulayan bir yöntemdir. Bir dosyadan sabit uzunlukta bir alfanümerik dizi hesaplar ve bu dizi daha sonra dosyanın değiştirilip değiştirilmediğini doğrulamak için kullanılabilir.
⚠️ Önemli Notlar
Her OneKey donanım cüzdanının içindeki güvenli eleman çipi, fabrikada resmi çoklu imza doğrulaması ile önceden yüklenmiştir.
Cihaza resmi olmayan ürün yazılımı yüklenirse, cihaz başlatıldığında "Resmi Olmayan Ürün Yazılımı" görüntüler.
Bu makale, mevcut ürün yazılımının GitHub'da yayınlanan sürümle tam olarak eşleşip eşleşmediğini doğrulamak için ek adımlar sağlar.
Doğrulama Süreci
Adım 1: En Son Resmi Ürün Yazılımını İndirin ve Kurun
OneKey resmi ürün yazılımı güncelleme sitesini ziyaret edin.
OneKey donanım cüzdanınızı bir USB kablosu kullanarak bilgisayarınıza bağlayın.
Web sitesi cihaz bilgileriniz otomatik olarak algılayacaktır. Ardından en son ürün yazılımını seçebilir ve kurabilirsiniz.
Ekrandaki talimatları izleyin ve donanım cüzdanınızda kurulumu onaylayın.
Adım 2: Cihaz Ürün Yazılımı Kontrol Toplamını Alın
Donanım cüzdanınızda Sistem Ayarları → Cihaz Hakkında yolunu izleyin.
Ürün yazılımı bilgilerini içeren bölümde, ürün yazılımı sürümünü ve Kontrol Toplamı'nı göreceksiniz.
Örnek:
4.9.0[fccbac8-5ff2c88]fccbac8→ Ürün yazılımı sürüm kimliği5ff2c88→ Ürün yazılımı Kontrol Toplamı'nın ilk yedi karakteri
Adım 3: Ürün Yazılımı Kontrol Toplamını GitHub'dan Hesaplayın
OneKey Pro GitHub ürün yazılımı sürümleri sayfasını ziyaret edin.
Cihazınızla eşleşen ürün yazılımı sürümünü bulun ve Assets altındaki
.bindosyasını indirin.
⚠️ Not: .bin dosyası birden fazla bölüm içerir:
MCU (ana denetleyici ürün yazılımı)
Bir veya daha fazla Güvenli Eleman (SE) ürün yazılımı
İmza bilgileri
Doğrulama için yalnızca MCU ürün yazılımını ayıklamanız gerekir.
Ürün Yazılımını Ayıklama
Aşağıdaki betiği şu şekilde kaydedin: split_firmware.sh (macOS/Linux için):
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Usage: $0 <binary_file>"
exit 1
fi
INPUT_FILE="$1"
TOTAL_FILE_SIZE=$(stat -f %z "$INPUT_FILE")
MAGIC=$(dd if="$INPUT_FILE" bs=1 count=4 2>/dev/null)
calculate_total_size() {
local offset=$1
local size_bytes=$(dd if="$INPUT_FILE" bs=1 skip="$offset" count=4 2>/dev/null | od -An -tu4)
echo $((size_bytes + 1024))
}
if [[ "$MAGIC" == "TRZF" ]]; then
TOTAL_SIZE=$(calculate_total_size 12)
elif [[ "$MAGIC" == "OKTV" ]]; then
HEAD1_SIZE=$(dd if="$INPUT_FILE" bs=1 skip=4 count=4 2>/dev/null | od -An -tu4)
HEAD1_SIZE=$(echo $HEAD1_SIZE)
FILE_SIZE_BYTES=$(dd if="$INPUT_FILE" bs=1 skip=$((HEAD1_SIZE + 12)) count=4 2>/dev/null | od -An -tu4)
TOTAL_SIZE=$((HEAD1_SIZE + 1024 + FILE_SIZE_BYTES))
else
echo "Unknown file format"
exit 1
fi
dd if="$INPUT_FILE" bs=1 count="$TOTAL_SIZE" of=firmware.bin 2>/dev/null
REMAINING_SIZE=$((TOTAL_FILE_SIZE - TOTAL_SIZE))
if [ $REMAINING_SIZE -gt 0 ]; then
SECOND_HEADER=$(dd if="$INPUT_FILE" bs=1 skip="$TOTAL_SIZE" count=4 2>/dev/null)
if [[ "$SECOND_HEADER" == "TF89" ]]; then
dd if="$INPUT_FILE" bs=1 skip="$TOTAL_SIZE" of=se.bin 2>/dev/null
echo "Split successfully: firmware.bin and se.bin extracted."
else
echo "Extra data exists but second file header is not 'TF89'. Only firmware.bin is extracted."
fi
else
echo "No extra data, only firmware.bin extracted."
fi
Betiği çalıştırın:
chmod +x split_firmware.sh ./split_firmware.sh onekey-firmware.bin
Çalıştırmadan sonra firmware.bin (MCU ürün yazılımı gövdesi) elde edeceksiniz.
Kontrol Toplamını Hesaplama
Terminalinizde aşağıdaki komutu çalıştırın:
tail -c +2561 firmware.bin | shasum -a 256 -b
Bu, şöyle uzun bir SHA-256 karması çıktı verecektir:
abcdef1234567890-
İlk yedi karakteri alın, örneğin abcdef1.
Adım 4: Sonuçları Karşılaştırın
Hesaplanan Kontrol Toplamının ilk yedi karakterini, cihazınızda görüntülenen Kontrol Toplamı ile karşılaştırın.
Eşleşirse, ürün yazılımınızın GitHub'da yayınlanan açık kaynak kodla aynı olduğu anlamına gelir.
✅ Neden Önemli?
Cihazınızın doğrudan OneKey'in resmi açık kaynak deposundan derlenmiş ürün yazılımı çalıştırdığından emin olabilirsiniz.
Güvenli elemanın yerleşik çoklu imza doğrulaması ile birlikte, bu donanım cüzdan ürün yazılımının bütünlüğünü ve güvenliğini sağlar.
