Bu eğitimde herhangi bir Lenovo cihazının DMI verilerinin nasıl düzenleneceğini açıklayacağım. Lenovo herhangi bir firmware değişikliğine izin vermediği için bir flash programlayıcı satın almanız gerekecek. Birçok BIOS çipi ile uyumlu olduğu ve mevcut en ucuz flash programlayıcı olduğu için CH341 A programlayıcıyı tavsiye ederim. Uyumluluk için önce BIOS çipinizin veri sayfasını kontrol edin. Buna bağlı olarak, ya 3 voltluk ya da 5 voltluk bir versiyona ihtiyacınız var. BIOS çipinize takabileceğiniz klipsler almanızı öneririm, böylece lehimlerini sökmek zorunda kalmazsınız. Bir USB flash belleğe de ihtiyacınız olacak. Ayrıca ikinci bir bilgisayara/dizüstü bilgisayara ve bir sürü yazılıma ihtiyacınız olacak. Bunların indirme linkleri ise şöyle:
Yapmak isteyeceğiniz ilk şey, Lenovo Destek web sitesinden mümkün olan en eski BIOS güncellemesini almaktır. İndirdiğiniz güncelleyiciyi ve innoextract.exe dosyasını aynı dizine yerleştirin. Benim güncelleyicimin adı emcn54ww.exe. Bu dizinde CMD'yi açın ve "innoextract.exe yourupdater.exe" yazın.
BIOS.fd dosyasını daha sonra kullanmak üzere kaydetmek için başka bir klasöre kopyalayın.
Adım 2: BIOS'u dumplayın
BIOS'unuzu dumplamak için flash programlayıcınızı kullanabilir ya da Intel Flash Programmer Aracını kullanabilirsiniz. Ben Intel Flash Programmer Aracını kullanacağım. HWiNFO ile Intel ME sürümünüzü belirleyin. Bende Intel ME 13.0 var.
Sürümünüze bağlı olarak bu adresten, doğru sürümü indirin. Bu Intel araçları sızdırılmıştır ve benim tarafımdan yüklenmemiştir. Ünlü bir BIOS modlama topluluğunun liderlerinden biri tarafından yüklenmiştir ve burada da bulunabilir. İndirilen klasörü çıkarın ve CMD'yi yönetici olarak çalıştırın. Dizininizi "\Flash Programming Tool\WIN32" olarak değiştirin. Tam bir dump yapmak için "
Adım 3: DMI verilerinin şifresini çözme
Tüm Lenovo BIOS'ları aynı yapıya sahiptir. UEFITool'da dump'u alınmış BIOS'umuzu açarsak, BIOS bölgesindeki ilk dolgu bölgesinde "LENV" ile başlayan iki blok bulabiliriz. İlk blok DMI verilerini içerir ve ikinci blok yedeklemedir. Bu nedenle her iki blok da aynıdır.
Ne yazık ki, InsydeH2O BIOS'ları yoğun bir şekilde şifrelenmiştir ve bu nedenle bu bilgi işe yaramaz çünkü şifrelenmiş formda hiçbir şeyi değiştiremeyiz. Henüz halka açık bir şifre çözücü yok, bu yüzden ücretli Lenovodmidecr programını kullanmamız gerekecek. Dump'un ve şifre çözücünün bulunduğu dizinde CMD'yi açın ve "
Adım 4: DMI verilerini değiştirin
Artık HxD kullanarak tanıdığınız verileri değiştirebilirsiniz. SMBIOS'unuzda bilinmeyen değerlere bakın. Eğer herhangi bir serinin parçası değilse "
EFI Shell'e girdiğinizde mevcut BIOS UUID'nizi BIOS.fd dosyasına şu şekilde inject edin:
BIOS UUID'sinin sizinkiyle aynı olduğundan emin olun. İşlem tamamlandıktan sonra yeniden başlatabilirsiniz. Şimdi HxD'de BIOS.fd dosyasını açın ve IFLASH_BIOSIMG dosyasını arayın. Başlangıçtaki her şeyi şu şekilde kaldırın:
Ardından
Bunu yaptıktan sonra dosyayı BIOS.bin olarak kaydedin. Boyut tam olarak 16,384 KB olmalıdır. Bu dosyayı UEFITool'da açabilirsiniz ve geçerli bir BIOS görüntüsü olarak algılanmalıdır. Bu sefer BIOS dump'un ilk dolgu bölgesini ve BIOS.bin'in ikinci dolgu bölgesini karşılaştırmak için UEFITool'u kullanmanızı tavsiye ederim.
Sol tarafta BIOS.bin dosyasından oluşturulan UUID'yi görebiliriz. Kendi UUID'mi oluşturduğum için sağ tarafta BIOS dumpun DMI verilerinde bulunabilir. Artık şifrelenmiş UUID'yi BIOS dumpumuzda nerede bulabileceğimizi biliyoruz. İkinci LENV bloğunda yedeklendiği için iki kez bulabileceğimizi unutmayın. Mevcut UUID'nizin HEX değerini dumptan kopyalayın ve bir yere kaydedin. Şimdi BIOS.fd ve BIOS.bin dosyalarını USB belleğinizden silebilirsiniz. Adım 1'de çıkardığınız değiştirilmemiş BIOS.fd dosyasını tekrar USB'nize kopyalayın ve EFI Shell'de tekrar önyükleme yapın. Burada,
Adım 5: DMI verilerini şifreleyin
DMI verilerini başarıyla düzenledikten sonra DMI bloklarını tekrar şifrelemeniz gerekecektir. Dump'un dizininde CMD'yi tekrar açın ve Lenovodmidecr.exe SPI.bin /d yazın. Bu işlem tamamlandığında, değiştirilmiş HWID ile geçerli bir BIOS dump'a sahip olursunuz.
Adım 6: BIOS dump'unuzu flaşlayın
Flaş programlayıcınızı kullanmadan önce Intel Flash Programmer aracını kullanarak SPI.bin dosyasını flaşlamayı deneyebilirsiniz, ancak bu işlem %99,9 bu başarılı olmayacaktır:
Bu yüzden, flash programlayıcısını kullanmanız gerekecek. Klipsleri çipinize takmak için bu videoyu bir öğretici olarak kullanabilirsiniz. Neoprogrammer kullanmanızı tavsiye ederim.
Kaynak: Edit DMI data of any Lenovo device with InsydeH2O BIOS
- Herhangi bir HEX editörü, HxD kullanacağım:
- UEFITool
- WinMerge
- InnoExtract
- HWiNFO
- NeoProgramer
- H2OSDE-S.efi/H2OSDE-Sx64.efi
- Lenovodmidecr
Yapmak isteyeceğiniz ilk şey, Lenovo Destek web sitesinden mümkün olan en eski BIOS güncellemesini almaktır. İndirdiğiniz güncelleyiciyi ve innoextract.exe dosyasını aynı dizine yerleştirin. Benim güncelleyicimin adı emcn54ww.exe. Bu dizinde CMD'yi açın ve "innoextract.exe yourupdater.exe" yazın.
\code$GetExtractPath dizininde oluşturulan yeni çalıştırılabilir dosyayı 7-Zip veya başka bir araç kullanarak ayıklayın. Çıkarılan klasör aşağıdaki gibi görünmelidir:BIOS.fd dosyasını daha sonra kullanmak üzere kaydetmek için başka bir klasöre kopyalayın.
Adım 2: BIOS'u dumplayın
BIOS'unuzu dumplamak için flash programlayıcınızı kullanabilir ya da Intel Flash Programmer Aracını kullanabilirsiniz. Ben Intel Flash Programmer Aracını kullanacağım. HWiNFO ile Intel ME sürümünüzü belirleyin. Bende Intel ME 13.0 var.
Sürümünüze bağlı olarak bu adresten, doğru sürümü indirin. Bu Intel araçları sızdırılmıştır ve benim tarafımdan yüklenmemiştir. Ünlü bir BIOS modlama topluluğunun liderlerinden biri tarafından yüklenmiştir ve burada da bulunabilir. İndirilen klasörü çıkarın ve CMD'yi yönetici olarak çalıştırın. Dizininizi "\Flash Programming Tool\WIN32" olarak değiştirin. Tam bir dump yapmak için "
FPTW.exe -d SPI.bin" yazın. Her şey döküldükten sonra, dump'u Lenovodmidecr ile bir dizine kopyalayın.Adım 3: DMI verilerinin şifresini çözme
Tüm Lenovo BIOS'ları aynı yapıya sahiptir. UEFITool'da dump'u alınmış BIOS'umuzu açarsak, BIOS bölgesindeki ilk dolgu bölgesinde "LENV" ile başlayan iki blok bulabiliriz. İlk blok DMI verilerini içerir ve ikinci blok yedeklemedir. Bu nedenle her iki blok da aynıdır.
Ne yazık ki, InsydeH2O BIOS'ları yoğun bir şekilde şifrelenmiştir ve bu nedenle bu bilgi işe yaramaz çünkü şifrelenmiş formda hiçbir şeyi değiştiremeyiz. Henüz halka açık bir şifre çözücü yok, bu yüzden ücretli Lenovodmidecr programını kullanmamız gerekecek. Dump'un ve şifre çözücünün bulunduğu dizinde CMD'yi açın ve "
Lenovodmidecr.exe SPI.bin /d" yazın. Bu SPI.bin dosyasının şifresini çözecek ve SPI.bin.bak adında bir yedekleme dosyası oluşturacaktır. Şimdi değişiklikleri vurgulamak için WinMerge'i kullanabiliriz:Adım 4: DMI verilerini değiştirin
Artık HxD kullanarak tanıdığınız verileri değiştirebilirsiniz. SMBIOS'unuzda bilinmeyen değerlere bakın. Eğer herhangi bir serinin parçası değilse "
24", "5557" ya da "23" gibi HEX değerlerini değiştirmeyin. Her iki LENV bloğunda da değiştirdiğinizden emin olun. Aynı olduğundan emin olun. Muhtemelen şimdiye kadar BIOS UUID'sini bulamayacağınızı fark etmişsinizdir. BIOS UUID "çift şifrelidir"/Lenovo BIOS UUID ile "ham" haliyle çalışmaz. Ne yazık ki, şifresini çözmenin kolay bir yolu yoktur, bu nedenle önce UUID için ofseti bulmamız ve yeni, zaten şifrelenmiş bir UUID oluşturmamız gerekecektir. Bunun için H2OSDE-S.efi/H2OSDE-Sx64.efi dosyasını kullanabiliriz. USB flash sürücünüzü EFI'ye önyüklenebilir hale getirin ve iki dosyayı USB'nin kök dizinine kopyalayın. Adım 1'den çıkarılan BIOS.fd dosyasını kopyalayın. BIOS UUID'nizi not edin:EFI Shell'e girdiğinizde mevcut BIOS UUID'nizi BIOS.fd dosyasına şu şekilde inject edin:
BIOS UUID'sinin sizinkiyle aynı olduğundan emin olun. İşlem tamamlandıktan sonra yeniden başlatabilirsiniz. Şimdi HxD'de BIOS.fd dosyasını açın ve IFLASH_BIOSIMG dosyasını arayın. Başlangıçtaki her şeyi şu şekilde kaldırın:
Ardından
IFLASH_INI_IMG'yi arayın ve dosyanın tüm geride kalan kısmını kaldırın:Bunu yaptıktan sonra dosyayı BIOS.bin olarak kaydedin. Boyut tam olarak 16,384 KB olmalıdır. Bu dosyayı UEFITool'da açabilirsiniz ve geçerli bir BIOS görüntüsü olarak algılanmalıdır. Bu sefer BIOS dump'un ilk dolgu bölgesini ve BIOS.bin'in ikinci dolgu bölgesini karşılaştırmak için UEFITool'u kullanmanızı tavsiye ederim.
Sol tarafta BIOS.bin dosyasından oluşturulan UUID'yi görebiliriz. Kendi UUID'mi oluşturduğum için sağ tarafta BIOS dumpun DMI verilerinde bulunabilir. Artık şifrelenmiş UUID'yi BIOS dumpumuzda nerede bulabileceğimizi biliyoruz. İkinci LENV bloğunda yedeklendiği için iki kez bulabileceğimizi unutmayın. Mevcut UUID'nizin HEX değerini dumptan kopyalayın ve bir yere kaydedin. Şimdi BIOS.fd ve BIOS.bin dosyalarını USB belleğinizden silebilirsiniz. Adım 1'de çıkardığınız değiştirilmemiş BIOS.fd dosyasını tekrar USB'nize kopyalayın ve EFI Shell'de tekrar önyükleme yapın. Burada,
H2OSDE-Sx64.efi -F BIOS.fd -SU AUTO komutunu kullanabilirsiniz. Yeniden başlatın ve BIOS.fd'nin sonunu ve başını kaldırma işlemini tekrarlayın ve BIOS.bin olarak kaydedin. UEFITool'da açın ve ikinci dolgu bölgesindeki aynı ofsete gidin. Orada önceki UUID'den farklı yeni bir şifrelenmiş UUID bulacaksınız. HEX değerini kopyalayın, şifresi çözülmüş BIOS dumpunuzu HxD'de açın, orijinal UUID HEX değerini arayın ve bulacağınız iki değeri değiştirin. Şimdi sadece SPI.bin BIOS dumpunu kaydedin. BIOS UUID'nizi dump'ta başarıyla değiştirdiniz.Adım 5: DMI verilerini şifreleyin
DMI verilerini başarıyla düzenledikten sonra DMI bloklarını tekrar şifrelemeniz gerekecektir. Dump'un dizininde CMD'yi tekrar açın ve Lenovodmidecr.exe SPI.bin /d yazın. Bu işlem tamamlandığında, değiştirilmiş HWID ile geçerli bir BIOS dump'a sahip olursunuz.
Adım 6: BIOS dump'unuzu flaşlayın
Flaş programlayıcınızı kullanmadan önce Intel Flash Programmer aracını kullanarak SPI.bin dosyasını flaşlamayı deneyebilirsiniz, ancak bu işlem %99,9 bu başarılı olmayacaktır:
Bu yüzden, flash programlayıcısını kullanmanız gerekecek. Klipsleri çipinize takmak için bu videoyu bir öğretici olarak kullanabilirsiniz. Neoprogrammer kullanmanızı tavsiye ederim.
Kaynak: Edit DMI data of any Lenovo device with InsydeH2O BIOS