Bu makale, OneKey Pro donanım cüzdanınızda yüklü olan aygıt yazılımının, resmi OneKey GitHub deposunda yayınlanan açık kaynaklı aygıt yazılımıyla eşleştiğini doğrulama sürecinde size rehberlik edecektir. SHA-256 Sağlama Toplamını karşılaştırarak, aygıt yazılımının güvenilir bir kaynaktan geldiğinden emin olabilir ve cihazınızın güvenliğini garanti edebilirsiniz.
Sağlama Toplamı Nedir?
Sağlama Toplamı, veri bütünlüğünü doğrulama yöntemidir. Bir dosyadan, dosyanın değiştirilip değiştirilmediğini doğrulamak için kullanılabilecek sabit uzunlukta alfanümerik bir dizi hesaplar.
⚠️ Ö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.
Cihaz, resmi olmayan aygıt yazılımı ile flaşlanırsa, cihaz başlatıldığında "Resmi Olmayan Aygıt Yazılımı" görüntüler.
Bu makale, mevcut aygıt 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 Aygıt Yazılımını İndirin ve Kurun
Lütfen OneKey resmi aygıt yazılımı güncelleme sitesini ziyaret edin.
OneKey donanım cüzdanınızı bir USB kablosuyla bilgisayarınıza bağlayın.
Web sitesi cihaz bilgilerini otomatik olarak algılayacaktır. Ardından en son aygıt yazılımını seçip kurabilirsiniz.
Ekrandaki talimatları izleyin ve donanım cüzdanınızdaki kurulumu onaylayın.
Adım 2: Cihaz Aygıt Yazılımı Sağlama Toplamını Alın
Donanım cüzdanınızda Sistem Ayarları → Cihaz Hakkında yolunu izleyin.
Aygıt yazılımı bilgileri bölümünde, aygıt yazılımı sürümünü ve Sağlama Toplamını göreceksiniz.
Örnek:
4.9.0[fccbac8-5ff2c88]fccbac8→ Aygıt Yazılımı Sürüm Kimliği5ff2c88→ Aygıt Yazılımı Sağlama Toplamının ilk yedi karakteri
Adım 3: GitHub'dan Aygıt Yazılımı Sağlama Toplamını Hesaplayın
Lütfen OneKey Pro GitHub aygıt yazılımı sürümleri sayfasına gidin.
Cihazınızla eşleşen aygıt yazılımı sürümünü bulun ve Varlıklar altındaki
.bindosyasını indirin.
⚠️ Not: .bin dosyası birden fazla parça içerir:
MCU (ana denetleyici aygıt yazılımı)
Bir veya daha fazla Güvenli Eleman (SE) aygıt yazılımı
İmza bilgileri
Doğrulama için, yalnızca MCU aygıt yazılımını ayıklamanız gerekir.
Aygıt Yazılımını Ayıklama
Aşağıdaki komut dosyasını split_firmware.sh olarak kaydedin (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
Komut dosyasını çalıştırın:
chmod +x split_firmware.sh ./split_firmware.sh onekey-firmware.bin
Çalıştırmadan sonra firmware.bin (MCU aygıt yazılımı gövdesini) elde edeceksiniz.
Sağlama Toplamını Hesaplayın
Terminalinizde aşağıdaki komutu çalıştırın:
tail -c +2561 firmware.bin | shasum -a 256 -b
Bu, uzun bir SHA-256 hash çıktısı verecektir, örn.:
abcdef1234567890-
Hesaplanan Sağlama Toplamının ilk yedi karakterini alın, örn. abcdef1.
Adım 4: Sonuçları Karşılaştırın
Hesaplanan Sağlama Toplamının ilk yedi karakterini cihazınızda görüntülenen Sağlama Toplamı ile karşılaştırın.
Eşleşirlerse, bu, aygıt yazılımınızın GitHub'da yayınlanan açık kaynak koduyla aynı olduğu anlamına gelir.
✅ Neden Önemlidir
Cihazınızın doğrudan OneKey'in resmi açık kaynak deposundan oluşturulan aygıt yazılımını çalıştırdığından emin olabilirsiniz.
Güvenli elemanın yerleşik çoklu imza doğrulaması ile birlikte bu, donanım cüzdanı aygıt yazılımınızın bütünlüğünü ve güvenliğini garanti eder.
