Ghost Killer

I can’t believe what I’ve just done.

In 1993 I created a very specific antivirus on Atari ST to eradicate a very common virus that plagued our floppy disks: GHOST.

Ghost was considered benign by many people, because the only thing it did was to reverse the Y axis of the mouse every 10 infections. It was so common that some people were used to this Y-axis inversion when using their ST everyday.

Image

But it had another side effect. It was incompatible with the OS of the more recent Atari STE, and when doing a warm reset on this machine, you got a system crash (bombs).

Image

I had an Atari STE and I hated it because even if the mouse Y-axis wasn’t inverted (remember, only every 10 infections), it meant that my floppy disks were infected. But I didn’t really mind.

Until, one day, it infected a game, erasing its boot sector, making the game unusable.

The game was a copy, so no big deal?

Well, it was no small game, it was Wings of Death.

Image

I got angry.

I wrote an antivirus to kill Ghost. I called it « Ghost Killer ».

It was pretty straightforward.

It loaded at boot time, hooked itself to the system call that scanned newly inserted floppy disks, and if Ghost was detected, it crushed the life out of its bytes until nothing was left.
And it replaced it with a nice clean boot sector I also wrote.

I also added a nice touch.

If Ghost was detected and killed, it played a sound to make it clear that some unwanted code hit the end of its life. It could be heard only on Atari STE, but it was both fun and relaxing.

I gave this tool to Phan, a friend that was the main Ghost cluster of the area back then.

I also gave it to people at the next demoparty, and during the following days you could hear the sound of Ghost being eradicated all over the place.

It was very satisfying.

So, what happened tonight ?
Well… I use a music player on Windows, called Dopamine.
And its file scanner had been hanging for no reason, during months. I couldn’t add new files.

So I downloaded the source code, built it, debugged it to see what file caused the scanner to break.

It was « GhostKiller ©1993 RickST.aif ».

The sound of Ghost dying… killed my music player.

So I filed a bug report and attached that sound to it, and I find quite amusing that the digit sample I made on ST in 1993 is attached on an issue 28 years later, with my old screen name slapped on it.

And since I’m in a good mood, I also uploaded the source code and binaries of Ghost Killer 1.0 (ST) and 1.2 (STE) and made it free under GPLv3.

This is a masterpiece, after all.

👻

2 réflexions sur “Ghost Killer”

  1. that is a nice story. congrats for the dev, it implies a good knowledge of low level programmation

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.