Lotus 1-2-3 が復活! - Tavis Ormandy によるハッキング後、Linux 上でネイティブに実行可能!

Lotus 1-2-3 が復活! - Tavis Ormandy によるハッキング後、Linux 上でネイティブに実行可能!

ロータス1-2-3と1990年代

ロータス1-2-3ロゴ

Tavis Ormandy、Google Project Zeroで働く世界クラスのホワイトハットハッカーです。

Hacker News(「HN」)は、有名なスタートアップ インキュベーターであるYcombinator が運営するニュース アグリゲータおよびコメント ボードです。

数日前、Tavis は HN に自身の新しいブログ投稿を掲載し、さらにもう一つの重大なハックを明らかにしました。Tavis は Lotus 1-2-3 とプラグインを Linux 上でネイティブに実行できるようにしました。

Lotus 1-2-3は、もともとMicrosoft Disk Operating System(MS-DOS)用に開発されたスプレッドシートソフトウェアです。Wikipediaによると、Lotus 1-2-3は1983年に初めてリリースされました。

1980年代後半から1990年代初頭にかけて、Lotus 1-2-3はWordPerfectと並んでオフィスソフトウェア市場を席巻していたかのようでした。当時、あるコンピュータショーに行った時のことを覚えています。展示ホールの片側には巨大なLotusブースがあり、反対側には巨大なWordPerfectブースがありました。どちらの巨大なブースも人で溢れ、活気に満ち溢れていました。

1990年代半ば、MicrosoftがWindows、Word、Excelをリリース・開発し始めたことで、Lotus/WordPerfect on MS-DOS時代は予期せぬ終焉を迎えました。当時、私のソフトウェアはMS-DOS上で問題なく動作していました。しばらくはMS-DOSを使い続けましたが、その後Linux、 NetBSD、そして最終的にベル研究所のPlan 9へと移行しました。Lotus 1-2-3がLinux上でネイティブに動作する姿を想像するだけで、遠い昔にタイムスリップしたような気分になります。本当に驚きです!

Tavis が Lotus 1-2-3 を Linux 上でネイティブに動作させる!

以前、TavisはDOSEMUエミュレータを介してLinux上でLotus 1-2-3を実行していました。Tavisは、DOSEMUがLotus 1-2-3でスムーズに動作するように、 Githubでディスプレイドライバを管理しています。

しかし、依然として未回収のまま残っていたのは、拡張性を実現するLotus 1-2-3プラグインです。Tavis氏は新しいブログ記事で、プラグインについて「理論的には、最新のスプレッドシート関数のサポートを追加したり、Google Financeなどと統合したりできるはずです!」と述べています。

最近、Tavis氏はLotus 1-2-3ソフトウェア開発キット(SDK)の古いコピーを発見しました。Tavis氏は、このSDKを使用して、Lotus独自の「LPL」言語で記述されたプラグインをいくつか作成できたと報告しています。

次に注目すべき出来事は、Tavis氏がUNIX版Lotus 1-2-3の古いコピーを回収したことです。Tavis氏のブログ記事で詳しく述べられているように、UNIX版Lotus 1-2-3には「プライベートシンボルやデバッグ情報を含む約2万個のシンボル」を含む「ストリップされていないオリジナルのオブジェクトファイル」が付属していました。コンパイルされたオブジェクトファイルは、ファイルサイズを小さくするために、デバッグ情報が削除されることがよくあります。

Lotus 1-2-3をLinux上でネイティブに動作させるため、TavisはUNIXから復元した古いLotusオブジェクトファイルを、最新のLinux実行可能およびリンク可能形式(ELF)に変換する必要がありました。GNU objcopyで変換を試みたTavisは、最終的に独自のcoffsyrupプログラムと、互換性のない命令を削除するためのラッパースクリプトを作成しました。さらに、TavisはLotus 1-2-3のライセンス要求に対する回避策も考案する必要がありました。

これらすべての成果として、驚くべきことに、TavisはLotus 1-2-3を最新のLinux上でネイティブに動作させることに成功しました。エミュレータは不要です。Tavisのブログ記事の最後には、 makeの出力とLotus 1-2-3のネイティブ動作を示す、見事なYouTube動画が掲載されています。



おすすめの記事