FPGA DNA ID'si, ayrıntılarıyla
Xilinx 7 serisi FPGA'lara fabrikada yazılan benzersiz kimlik. Silikon düzeyinde ne olduğu, nasıl okunacağı, özel firmware'in ona neden bağlandığı ve ne olmadığı.
Kısa cevap
DNA ID, her Xilinx 7 serisi FPGA'ya fabrikada yazılan 57 bitlik, salt okunur bir değerdir. Mantık onu DNA_PORT primitifi üzerinden okur. Özel firmware bu değere göre derlenir, yani imaj yalnızca tek bir kartta çalışır. Bir lisans key'i değildir ve içinde sizinle ilgili hiçbir bilgi yoktur.
Bu sayfada10
DNA aslında nedir
Artix-7 dâhil her Xilinx 7 serisi aygıt, fabrikadan eFUSE'a programlanmış benzersiz bir kimlikle çıkar. İçerideki mantık bu kimliği DNA_PORT adlı bir primitif üzerinden okur. Primitif değeri bir kaydırmalı yazmaca yükler ve bit bit dışarı verir. 7 serisi parçalarda erişilebilir genişlik 57 bittir. Değer salt okunurdur. Onu yeniden yazan bir komut, silikonda taklit eden bir araç veya iki yongaya aynı değeri verecek bir yöntem yoktur. Bağlama değeri olarak işe yaramasının tek sebebi bu kalıcılıktır.
DNA'ya kısa bakış
Değeri bir destek talebine yapıştırıp yapıştırmamaya karar verirken önemli olan özellikler.
- Nerede duruyor
- FPGA'nın içindeki eFUSE'ta, üretim sırasında programlanıyor
- Genişlik
- 7 serisi parçalarda mantığa açık 57 bit, DNA_PORT primitifi üzerinden okunuyor
- Yazılabilir mi
- Hayır. Yonganın ömrü boyunca salt okunur
- Kapsam
- Tek bir FPGA kristalini tanımlıyor. Kartı, flash yongasını ya da PC'yi değil
- Sizden türetilen kısmı
- Yok. Sizin alışınızdan önce vardı ve sizinle ilgili hiçbir şey bilmiyor
- Gizli mi
- Kriptografik anlamda değil. Parola gibi değil, yayımlamadığınız bir tanımlayıcı gibi davranın
Değerin göründüğü yer
MemProcFS sanal bir sürücü bağlıyor ve içine bir durum dosyası yazıyor. O dosyadaki DNA satırı, desteğin ihtiyaç duyduğu değerdir: birebir, fazladan boşluk eklemeden kopyalayın.
MemProcFS.exe run as Administrator on the second PC
<mounted drive>\misc\pcileech_status.txt
look for the line beginning: DNA_IDMemProcFS ile okumak
Güvenilir yol ve siparişle gelen DNA ID rehberinin anlattığı yol. Bunu ikinci PC'de, kart elektrikliyken yapın.
- Önce oyun PC'sini açın ve masaüstüne kadar gelmesini bekleyin; böylece kart hem elektrik alır hem de sistemde görünür
- Kartı, sipariş yönergelerinizin durum okuması için belirttiği porttan ikinci PC'ye bağlayın
- Siparişinizle gelen sürümü kullanarak MemProcFS.exe dosyasını yönetici olarak çalıştırın
- Bağladığı sanal sürücüyü açın
- misc\pcileech_status.txt dosyasını açın
- DNA_ID değerini birebir kopyalayın: sonda boşluk bırakmadan, biçimini değiştirmeden
Uyarı
Dosya neden bazen ortada olmuyor
Durum dosyasının olmaması DNA'nın kaybolduğu değil, kartın konuşmadığı anlamına gelir. Önce portu kontrol edin. Durum okuması ile firmware yazma işlemi karttaki farklı soketleri kullanıyor ve yanlış soket açık ara en sık sebep. Sonra kablo, sonra ikinci PC'deki USB köprüsü sürücüsü, sonra oyun PC'sinin soğuk açılışı. Değer uydurmayın. Kendinizi kurtarmak için eski bir karttan kalan değeri de kullanmayın. Yanlış DNA'ya göre derlenmiş bir sürüm, baştan yaptıracağınız bir sürümdür.
Firmware neden ona bağlanıyor
Özel bir imaj tek bir kart için derleniyor. Bitstream'i derlendiği DNA'ya bağlamak, bunu güven esasına dayalı olmaktan çıkarıp mekanik hâle getiriyor. Mantık çalışma anında DNA'yı okuyor ve yalnızca eşleşme varsa devam ediyor. Bundan iki sonuç çıkıyor. İmaj ikinci bir karta kopyalanıp kullanılamıyor; bir alım bir kart demesinin sebebi bu. Ve kartı değiştirirseniz yeni FPGA'nın DNA'sı farklı oluyor. Yeni bir sürüm gerekiyor, çünkü eski dosyadan hiçbir şey taşınmıyor.
Not
DNA'nın yapmadıkları
İnsanların onu sandığı üç şey var ve DNA bunların hiçbiri değil. Bir lisans key'i değil. Donanımı tanımlıyor; kullanım hakkınız yongada değil, siparişinizde duruyor. Kişisel veri değil. Üretimde yazıldı, sizinle ilgili hiçbir şeyden türetilmedi ve geri çevrilip bir kimliğe dönüştürülemiyor. Ve kendi başına bir tespit vektörü de değil. Kartın yapılandırma alanını okuyan bir anti-cheat, FPGA'nın içindeki DNA'yı değil, donör profilini görüyor.
Destek talebine ne yazmalı
Hepsi tek mesajda. Üç kez ek soru sorulması gereken bir talep, üç kez bekleyen bir taleptir.
- Sipariş numarası
- Gerçekten açtığınız dosyadan birebir kopyalanmış DNA ID
- Karttaki işarete göre kart modeli ve FPGA sınıfı, ayrıca serigrafinin fotoğrafı
- Değeri hangi aracın ürettiği ve elle yeniden yazılmış bir parça değil, çıktının tamamı
- Hangi oyun ve hangi anti-cheat ile kullanmayı düşündüğünüz
- Bunun ilk sürüm mü, yoksa değiştirdiğiniz bir kartın yerine mi olduğu
DNA soruları
DNA ID değiştirilebilir ya da taklit edilebilir mi?
Silikonda hayır. Fabrikada yazılan eFUSE ve salt okunur. Bir bitstream'deki mantık elbette bir araca istediği değeri bildirebilir. Ama yonganın taşıdığı değer değişmez.
DNA ID'mi desteğe göndermek güvenli mi?
Sipariş talebinde evet. İçinde kişisel bilgi bulunmayan bir donanım tanımlayıcısı. Bir seri numarasını nasıl paylaşmazsanız, onu da herkese açık bir kanalda paylaşmayın.
İki kartım var, iki sürüm mü gerekiyor?
Evet. Her FPGA'nın kendi DNA'sı var ve birine bağlanmış bir sürüm diğerinde çalışmıyor. Bir ID, bir kart, bir imaj.
Kartımı garantiyle değiştirdim. Firmware dosyamı saklayabilir miyim?
Dosya eski DNA'ya bağlı, yani hayır. Yeni kartın DNA'sını okuyun ve aynı sipariş talebinde ona göre yeni bir sürüm isteyin.
DNA ID beni bir anti-cheat'e tanıtıyor mu?
Hayır. FPGA'nın içinde kalıyor ve kartın PCIe veri yolunda dışarı verdiklerinin parçası değil. Dışarı verilen şey yapılandırma alanı, yani donör profili.
Kaynaklar
Bir sürümü tek bir karta nasıl bağladığımız bizim kendi politikamız. Bir destek talebinde nelerin bulunması gerektiği de kendi taleplerimizden çıktı.
- 01AMD/Xilinx DS180, 7 Series FPGAs Data Sheet: Overview
Xilinx 7 serisi parçalarda fabrikada programlanan device DNA ve bu kartların kullandığı Artix-7 parçaları
docs.amd.com
- 02MemProcFS (Ulf Frisk), AGPL-3.0
DNA satırının göründüğü durum dosyasını barındıran sanal sürücüyü bağlayan araç
github.com
Sırada ne var
Hâlâ takıldınız mı? Discord'da destek talebi açın
Tüm rehberler