Das Tape-Archiv eines BBS mit Schwarzkopien aus den 90ern lädt Google-Entwickler Tavis Ormandy zum Retro-Hacking ein.
Der bei Google angestellte Hacker und Sicherheitsforscher Tavis Ormandy hat ein Faible für die Kommandozeile und Retro-Computing – insbesondere für die Tabellenkalkulationen Lotus 1-2-3 aus den 80ern. Ormandy schreibt gar, er wäre eine 1-Mann-Enthusiasten-Community für das Programm, immerhin pflegt er einen eigenen Display-Treiber, damit die Anwendung gut auf modernen DOS-Emulatoren aussieht. In seinem Blog beschreibt der Entwickler nun, wie er die Tabellenkalkulationen auf Linux portiert hat.
Der Erklärung zufolge versuchte Ormandy in den vergangenen Jahren vor allem immer wieder, mehr über die speziell für Lotus 1-2-3 erstellte Erweiterungssprache herauszufinden sowie über das dazu notwendige SDK. Das SDK selbst sei aber für rund 400 US-Dollar verkauft worden und Ormandy konnte davon zunächst kein Backup mehr ausfindig machen.
Wie der Entwickler aber schreibt, fand er letztlich eine Person, die “in der BBS-Szene der 90er Jahre als Sysop tätig war”. In den Tape-Archiven der alten BBS-Nachrichten, die diese Person noch hatte, fand Ormandy eine Schwarzkopie des SDK und konnte damit neue Plugins bauen.
Darüber hinaus schreibt Ormandy: “Es stellte sich heraus, dass das BBS auch eine Schwarzkopie von Lotus 1-2-3 für Unix hatte. Dieses Programm galt weithin als verschollen – man sagte mir, dass es nicht mit einem populäreren Unix-Büropaket namens SCO Professional konkurrieren konnte, weshalb nicht viele Kopien verkauft wurden.”
Ormandy musste daraufhin zunächst mit dem Abbild-Format aus den 80ern kämpfen, das er nie zuvor gesehen habe. In dem Archiv fand der Entwickler nach dem Umwandeln und Entpacken aber die komplette Binärdatei mit sämtlichen Symbolen und Debug-Informationen der Tabellenkalkulationen.
Um die Anwendung aber noch auf Linux ausführen zu können, musste der Objektcode von Coff in das Elf-Format von Linux überführt werden. “Lustigerweise war die erste Version von Linux noch nicht einmal veröffentlicht worden, als diese Objektdatei kompiliert wurde”, schreibt Ormandy dazu. Probleme machten ihm zusätzlich zu dem Format auch inkompatible Systemaufrufe und weiteres.
Für die Umwandlung schrieb Ormandy deshalb ein eigenes kleines Programm. Die dazu notwendigen Wrapper-Funktionen bereiteten ihm aber wiederum einige Probleme, weil diese doch komplexer waren als erwartet. Zur Ausführung der Anwendung musste Ormandy aber auch noch sein Reverse-Engineering-Wissen nutzen, um die Lizenzabfrage von Lotus 1-2-3 zu umgehen.
Den Code, um die mehr als 30 Jahre alte Tabellenkalkulationen auf Linux auszuführen, stellte Ormandy auf Github. Eine Kopie des alten Lotus 1-2-3 hinterlegte der Entwickler darüber hinaus im Internet-Archiv.
Der Beitrag Retro Computing: Lotus 1-2-3 auf Linux portiert erschien zuerst auf Linux-Magazin.