Auf die harte BIOS-Tour: manueller EEPROM-Flash einer GeForce RTX zur Umgehung der Sperre mit der Hardware-ID bei NVflash | igorsLAB

Zunächst möchte ich diesem Testbericht zwei wichtige Dinge voranstellen. Erstens sind solche Dinge, die wir im Folgenden machen werden, am fertigen Produkt sicher nicht verboten, aber alles, was über das bloße Auslesen und Schreiben der BIOS-Daten hinausgeht, bewegt sich bereits in der Grauzone zwischen gesundem Spieltrieb und Reverse-Engineering. Und es ist zudem auch recht gut geeignet, mit fehlenden Skills dafür zu sorgen, dass es ein fertiges Produkt weniger auf der Welt gibt.

Dies alles nur mal eben so auch als Warnung. Genau deshalb wird es an einigen Stellen auch nicht ganz so in die Tiefe gehen (können), wie man es hätte vielleicht tun können. Doch wir werden bei Bedarf zu einem späteren Zeitpunkt für die technisch Versierten unter den Lesern noch einmal ein Video veröffentlichen, welches die genauen Schritte zeigt, die man zum manuellen Programmieren solcher EEPROMs gehen muss, versprochen.

Zweitens möchte ich mich bei unserem Leser Frank Schmidt (Foren-Nick BigReval) bedanken, der mir mit dem nötigen Equipment und Wissen, sowie auch sehr viel Zeit, den Großteil der praktischen Arbeit abgenommen hat und deshalb zur Recht auch als Autor des praktischen Teils gelten muss. Also ist es überwiegend sein Artikel, dem ich lediglich meine verbalen Girlanden und Gedankengänge umhänge. Aber er war am Ende auch der treibende Keil, dass ich mir den Programmer mittlerweile selbst bestellt habe.

Schließlich ist nicht jeder brillante Techniker auch automatisch der geborene Schreiber oder in der Lage, sich mit Buchstabengarnituren die Freizeit zu versüßen. Ich bin heute also nur einmal mein eigener Lohnschreiber. Fetzt aber auch 🙂

 

Zwangsimplantation – Was wir vorhaben und warum

Wir erinnern uns nochmal kurz: im Artikel „Flashen unmöglich! Die 2-Klassen-Gesellschaft bei den Turing-Chips der GeForce RTX 2070, 2080 und 2080 Ti“ habe ich bereits ausführlich erklärt, warum sich das BIOS einer Grafikkarte mit einem sogenannten „A“-Chip nicht mit Hilfe der Softwarelösung NVFlash  auf einen der jeweiligen „Nicht-A“-Chip der günstigen Grafikkarten innerhalb der gleichen Leistungsklasse flashen lassen. So schön das natürlich auch gewesen wäre.

Wir sind also auf eine Softwareblockade gestoßen, die wir trotz einer speziell gepatchten Version nicht umgehen konnten. Also mussten wir zur Befriedigung unserer Neugier diesmal härtere Geschütze auffahren. Mit am Start sind wiederum die beiden Grafikkarten von MSI, die GeForce RTX 2070 Armor mit dem einfachen „Salvage“-Chip und eine GeForce RTX 2070 Gaming Z mit dem sogenannten „A-Chip“.

Was wir nun tun wollen, ist eine manuelle Umprogrammierung des EEPROMs, also dessen, was man im Review immer als BIOS-Chip zu sehen und zu lesen bekommt. Es handelt sich hierbei um einen simplen, programmierbaren Festwertspeicher und es ist somit also auch kein Hexenwerk. Die Aufgabe wird somit darin bestehen, die Karte im stromlosen Zustand auf den Tisch zu legen, den EEPROM der Gaming Z mittels der dafür geeigneten Hardware komplett auszulesen und diese Daten Bit für Bit wieder auf die Armor zu schreiben.

Außerdem haben wir natürlich vor dem Beschreiben den EEPROM jedes Mal komplett gelöscht. Es versteht sich in diesem Zusammenhang natürlich auch, dass wir von beiden Karten zuvor eine BIOS-Sicherungskopie angelegt haben. Man weiß ja nie…

 

Der Schlüssel zum Erfolg: CH341A Programmer mit Zange

Diese Hardware bekommt man direkt vom chinesischen Shop seiner Wahl für unter 10 USD. Bestellt man das Ganze in Deutschland bequem mit Amazon, kostet es keine 20 Euro. Wir brauchen allerdings nicht das ganze Set, denn uns genügt der Programmer mit der 8-Pin „Zange“ und die mitgelieferte Software. Da unser Experiment in Franks Hobbykeller durchgeführt wurde, bitte ich auch die Qualität der Bilder etwas zu entschuldigen, doch das ist eh marginal. Wichtig ist auf dem Tisch, sonst nichts. 😉

Und was machen wir nun mit dieser Herrlichkeit fernöstlicher Adapter-Kunst? Genau das erfahrt Ihr auf der nächsten Seite, wenn es ans Eingemachte geht!

Kommentare (34)

  • BigReval schrieb am
    @gastello : Nein, du nervst nicht. Im Gegenteil, sind alles berechtigte Einwände. Nun kommt aber das ABER... Denn das EEPROM hat ja sogar OTP Bereiche etc. Ich habe es nach dem Auslesen erst mal verifiziert. Das wäre ins Aus gelaufen wenn der Schutz aktiviert wäre. Das Read / Verify sind nur zwei Klicks. Das war erfolgreich. Daraufhin habe ich die Fuses mit dem “dicken“ ausgelesen. Es ging ja bei dem Artikel darum, ob das mit 10€ Hardware, also was, was jeder mal testen kann oder nur mit teuren speziellen Geräten geht wo teilweise ein Studium ratsam ist. Zurück, also KEINE Fuses aktiv, 00hex und gut ist. Anders wäre Nvflash ja auch nicht in der Lage zu schreiben. Und beim Lesen käm nur Blödsinn raus. Also ist der Schreibschutzpin nicht aktiv oder über z.B. eine Transistorschaltung beschaltet. Braucht Nvidia auch nicht. Das BIOS selbst ist geschützt. Was du meinst, so verstehe ich das, wäre wenn ich z.B. Atmel und Pic hätte. Also zwei verschiedene Typen die verschiedenen Code brauchen. Es sind aber die gleichen Chips, die den selben Code brauchen. Also in der Theorie läuft die Software auf BEIDEN. Nvidia hat aber den EEPROM Inhalt schon verschlüsselt und braucht deshalb keinen weiteren Schutz. Scheinbar hat jede GPU ihren eigenen Schlüssel zum entschlüsseln. Und dann passt der Code zwar aber nach dem entschlüsseln kommt nur Murks und die GPU hängt.... Soviel Soft passt ja locker in die GPU um das zu realisieren. Also haben wir da wahrscheinlich mit ganz anderen Problemen zu kämpfen als mit gesetzten Schutz-Bits, die nach dem Lösch Befehl genullt werden. @BlueKingMuch : Das ging an mir vorbei, zu der Zeit war ich noch aktiv und habe mich mit den Sachen nicht so beschäftigen können. Meine Info war, das es noch länger nicht ging. Heute ist aber damit schluss. Leider. Sonst könnte man das BIOS ja so ändern und die Werte der OC Karte hinterlegen. Schon wäre alles schick. Geht aber leider nicht....
  • BlueKingMuch schrieb am
    BigReval hat gesagt
    Nein, das Powertarget, die Taktfrequenzen etc. Kann man so nicht mehr ändern. Zumindest nicht ohne weiteres. Ich weiß das Boardpartner das können. Aber die Werte sind schon seit X-Generationen für Ottonormalbürger nicht mehr frei zugänglich. Es gab für ältere Karten mal so ein Tool. Heute sind, soweit ich weiß, die Daten verschlüsselt. An die Software wird keiner wirklich rankommen... Falls doch, bitte Kopie an mich! ;) Das ist des Problem!
    Schade, hätt ja sein können :) hab bei meiner Maxwell 980ti noch selbst mit GPU-Z das vBIOS extrahiert und mit dem BIOS-Editor einfach das Powertarget von max. 109% auf max. 140% ziehen können, ist jetzt auch nur 2 Generationen her...
  • gastello schrieb am
    Vielleicht noch als Gedankengang (nerven will ich nicht), auf dem Chip ist noch Platz (man reserviert meist Blöcke für spätere Updates, wäre blöd wenns dann am verfügbaren Speicherplatz scheitert, so ist es bei dem IS25WSP auch). Heisst, wenn du das Bios neubeschreibst, lässt die Software den read-only Bereich unberührt. Sie beschreibt Blockweise den freien Bereich, nach und nach. Soweit ich weiß wird der gesperrte Bereich durch einen Kondensator gespeist, der entwender die Spannung hebt oder senkt (VCC zu VWI), um ein write command ausführen zu können. NV Flash liegt ja auch in einer gemoddeten Version vor, die Schutzmechanismen aushebelt, sonst könnte man auch die A to A Tour nicht durchführen. Wenn du blockweise beschrieben hast, findet der I2C Driver den benötigten Autoboot nicht, weil einfach der alte Master abgerufen wird. Daher kann man wohl auch A to A und B to B flashen. Gibt vermutlich Unterschiede zwischen A und B.
  • BigReval schrieb am
    @gastello : Ja, hast vollkommen Recht! Man kann die EEPROMS Lese-/Schreibschützen. Aber um das zu machen müßte auch ein Pin auf LOW, hier Masse gelegt werden. Und dann die jeweiligen Bits gesetzt werden. Ich habe das heute mal mit dem “großen“ Progger mal diverse Karten von diversen Herstellern durchprobiert. Der große kann nämlich die Config Bits Lesen und Schreiben. Es waren keine Lock Bits Programmiert. Abgesehen davon, wird beim löschen des EEPROMS auch die Locks gelöscht! Es sei denn der Pin... Aber das ist nicht der Fall. Außerdem konnte ich problemlos die alten Daten schreiben und alles war schick! Hier an der Stelle also Entwarnung. @BlueKingMuch : Weil ichs kann... Nein, das Powertarget, die Taktfrequenzen etc. Kann man so nicht mehr ändern. Zumindest nicht ohne weiteres. Ich weiß das Boardpartner das können. Aber die Werte sind schon seit X-Generationen für Ottonormalbürger nicht mehr frei zugänglich. Es gab für ältere Karten mal so ein Tool. Heute sind, soweit ich weiß, die Daten verschlüsselt. An die Software wird keiner wirklich rankommen... Falls doch, bitte Kopie an mich! ;) Das ist des Problem!
  • BlueKingMuch schrieb am
    Aber mal was anderes: warum will man nochmal das BIOS vom A-Chip draufhaben? eigentlich ja nur wegen dem größeren möglichen Power Target. Wärs da nicht einfacher das non-A BIOS zu modifizieren (also höheres max. PT eintragen) und zurückzuflashen? selbst wenn dies durch nVflash fehlschlägt, mit einem Hardware EEPROM Flash geht's ja trotzdem. oder wird hier wirklich hardcore die Checksumme verglichen?

Ebenfalls interessant...