Frage:
BIOS-Klonszene "Halt and Catch Fire" unrealistisch?
Robert Lauriston
2014-06-03 00:25:08 UTC
view on stackexchange narkive permalink

Die erste Folge der TV-Serie "Halt and Catch Fire" (inspiriert von den Anfängen von Compaq) enthält zwei Zeichen, die 1983 damit beginnen, das IBM PC-BIOS zu klonen, indem eine Schaltung erstellt wird, die den binären Inhalt einer Adresse anzeigt Mit Lichtern liest ein Mann den Inhalt jeder der 65.536 Adressen als Hex-Werte vor und der andere schreibt sie auf. Eine spätere Szene impliziert, dass sie die Daten dann in ein anderes System eingegeben und auf einem Zeilendrucker ausgedruckt haben.

Wäre es zu diesem Zeitpunkt wirklich eine bedeutende technische Herausforderung gewesen, den Inhalt des Chips und zu lesen auf Diskette schreiben?

Das BIOS wurde im "IBM PC Technical Reference Manual" dokumentiert, sodass dies ohnehin nicht erforderlich war, aber ich bin immer noch gespannt, wie realistisch die Szene ansonsten war.

PC Magazine 1982 Artikel Der Schlüssel zum PC aus Google Books

Vielleicht fehlt mir etwas, aber IIRC das BIOS war für die CPU lesbar. Warum also nicht ein 10-zeiliges Basisprogramm schreiben, das den ROM-Inhalt in einem beliebigen Format ausspuckt?
Der ursprüngliche IBM PC enthielt fünf 8-KB-ROM-Chips.eines enthielt das BIOS, während die anderen vier den 32-KB-Interpreter "ROM BASIC" enthielten.Auf dem Motherboard befand sich ein sechster Sockel für ein benutzerdefiniertes ROM.Software war damals viel kleiner.Selbst das Betriebssystem passt in weniger als 16 KB RAM.
Der ursprüngliche IBM-AT-BIOS-Quellcode wurde in seinem technischen Referenzhandbuch veröffentlicht. Um ihn jedoch ohne Urheberrechtsverletzung zu klonen, war ein Reverse Engineering der Funktionen durch "Chinese Wall" erforderlich.http://en.wikipedia.org/wiki/Phoenix_Technologies#Cloning_the_IBM_PC_BIOS
Die Leute sollten sich daran erinnern, dass diese Show, so schlecht sie auch ist, ein dramatisches Stück und kein Dokumentarfilm ist.
@Rob: In der Tat, aber die gleiche Handlungssituation hätte mit einem Szenario mit realistischen Details und nicht mit unrealistischen erstellt werden können.So etwas untergräbt die Glaubwürdigkeit eines Geschichtenerzählers.
Was ich für lächerlich halte, ist die Idee, dass das Kopieren von etwas, das leicht zu kopieren ist, den Zorn von IBM so niedergeschlagen hätte, wie es in der Show der Fall ist.Das Hardware-Handbuch wäre viel nützlicher gewesen, da es dem Assembler Kommentare gegeben hätte.
Die Idee ist, den Charakter in eine Situation zu bringen und nicht unbedingt ein reales Ereignis zu zeigen.Viele Menschen vergessen, dass dies kein Dokumentarfilm ist.Ich erinnere mich aber an viele Kämpfe um BIOS-Code.
@DaveTweed Sie brauchen keine Glaubwürdigkeit in der Fiktion und die Geschichte ist Fiktion, obwohl der Geschichtenerzähler glaubwürdig sein muss, was etwas anderes ist.
Zu dieser Zeit verfügte HP über einige Logikanalysatoren (nur HP 1610-Status, HP 1615-Status und Timing), die die Vorgehensweise von Wochen auf Sekunden gebracht hätten.Eines der vielen unrealistischen technischen Details in dieser Show, das sowieso ziemlich gut ist
Sechs antworten:
C. Towne Springer
2014-06-03 00:52:11 UTC
view on stackexchange narkive permalink

Ja, das ist vernünftig. Ich war dort, habe das in kleinerem Maßstab getan. Duplizieren von ROMs durch Schreiben jeder Adresse und jeder Daten mit Schaltern. Zu dieser Zeit war die Ausrüstung dafür sehr teuer, oft teilenspezifische Entwicklungssysteme von Teileherstellern oder DataI / O oder HP.

In '83 hätte ich jedoch ein AIM-65 verwendet, auf dem Forth und ein wenig Drahtwickelarbeit oder ein Apple II und BASIC oder Forth und automatisierten den Prozess an einem Tag. AIM-65 würde auch das Drucken einer Liste ermöglichen und war 1/10 der Kosten von Apple - und Drucker waren auch teuer.

AIM und Apple hatten Massenspeicher für Audiobänder und Festplatten waren wiederum sehr teuer. 3000 bis 5000 Dollar waren damals eine Menge Geld (ungefähr 400 Dollar für den AIM-65). Beachten Sie, dass IMSAI 8080-Besitzer bei jedem Einschalten das BIOS von Hand eingegeben haben - bis ROM-Karten mit besseren Bootstrap-Ladern geliefert wurden.

Ist das ROM eingelötet und sie wollten es nicht entfernen? Ein Beispiel für die manuelle Daten- und Codeeingabe finden Sie auf der Vorderseite eines IMSAI-8080.

StackOOverflow
2014-06-29 15:31:22 UTC
view on stackexchange narkive permalink

Das eigentliche Reverse Engineering des PC-BIOS umfasste die Untersuchung des Verhaltens des BIOS (nicht des Codes) und das Schreiben von Code, um dessen Verhalten zu duplizieren. Aus diesem Grund ist die in Halt and Catch Fire gezeigte Methode nicht das, was wirklich passiert ist. Das Dumping des ROM führt zu schwerwiegenden rechtlichen Problemen. Das Duplizieren des beobachteten Verhaltens (oder das Lesen in einem Handbuch) funktioniert ebenfalls, aber ich werde einen Anwalt den Unterschied erklären lassen und erklären, warum dies getan werden muss.

Wie andere gesagt haben, unter der Annahme, dass Ziel war es, das ROM zu entleeren. Dies wäre durch elektronisches Lesen geschehen, nicht durch Adress-für-Adresse mit einer Reihe von LEDs mit Steckbrett. Bereits 1983 konnte dies problemlos von Standardgeräten durchgeführt werden. Wenn IBM ein nicht standardmäßiges ROM entwickelt hätte, um das Lesen zu erschweren (was nicht der Fall war), hätte es einige Arbeit gekostet, um es richtig zu machen, aber das tatsächliche Lesen des 64-KB-ROM auf elektronischem Wege wäre das gleiche, sobald das Spezial-ROM Die Verpackung des Fall-ROMs wurde rückentwickelt.

Das elektronische Lesen des 64-KB-ROM im Jahr 1983 hätte in der Größenordnung von zehn Sekunden gedauert. Das Zerlegen und Drucken des Codes hätte weitere 10 Minuten gedauert (auf einem schnellen Drucker).

Rob
2014-06-23 18:50:36 UTC
view on stackexchange narkive permalink

Wenn ich an diese Tage zurückdenke, bin ich überrascht, dass ich mich daran erinnere, was ich früher getan habe, und es fällt mir schwer zu glauben, dass ich die Zeit hatte oder mir die Mühe gemacht habe, mir die Zeit zu nehmen. Brennen von EPROMs mit Überbrückungskabeln für jede Adresse, damit ich eine Schnittstelle zwischen einem Computer und einem Drucker fest verdrahten kann. Eingabe von Hunderten von Anweisungen mithilfe von Schaltern auf einem Minicomputer. Dinge, die jetzt unergründlich erscheinen, aber ich erinnere mich, dass ich überlegt habe, etwas Ähnliches wie die von Ihnen erwähnten 65 KB Daten zu tun.

WhatRoughBeast
2014-06-03 00:40:50 UTC
view on stackexchange narkive permalink

Dies hängt von Ihrer Hardware-Kompetenz ab. Ich habe die Show nicht gesehen, daher kann ich die Hintergründe der Charaktere in der Show nicht ansprechen. Zum Auslesen von 65.536 Standorten hätte ich es jedoch sicherlich automatisiert. Es hätte ein paar Tage gedauert, bis ein ISA-Adapter das ROM in eine Datei ausgelesen hätte, und dieses muss kürzer sein als die Zeit, die erforderlich ist, um es manuell auszuführen. Ebenso standen Programmiereinheiten zur Verfügung, die die Arbeit erledigen würden, obwohl die Anschaffungszeit und -kosten durchaus ein Problem für den Aufwand auf Garagenebene gewesen sein könnten.

Die Antwort lautet also: Es ist nicht klar, aber ich bezweifle, dass es echt ist. Viel hängt von der Hardware-Raffinesse der Charaktere ab. Ein Langzeitdurchschnitt von 5 Sekunden pro Lesung erledigt die Arbeit in 91 Stunden, mit vielen Fehlern und einem wirklich großen Volumen an Papieraufzeichnungen (die dann transkribiert werden müssen), daher bezweifle ich, dass die Szene real ist. Aber du weißt nie etwas über Nerds, oder?

gbarry
2014-06-03 01:17:36 UTC
view on stackexchange narkive permalink

Jeder IBM PC wurde mit dem Programm debug geliefert, mit dem das BIOS direkt gelesen und angezeigt werden kann. Es ist jedoch leicht zu glauben, dass Leute, die das nicht wussten, es anders machen.

Old School Assembler
2015-06-25 22:41:05 UTC
view on stackexchange narkive permalink

Wenn Sie nur den Chip und keinen Zugriff auf einen PC haben, müssen Sie den Adressbus mit einem Steckbrett versehen und die Daten Stück für Stück ablesen.

Wenn Sie Zugriff auf einen PC haben, müssen Sie Geben Sie DEBUG einige Befehle für die vollständige Demontage und können Sie diese Demontage sogar direkt auf einem Drucker ausgeben. Würde ungefähr 5 Minuten dauern.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...