In the 80's, video (arcade) game software was
*regularly* copied.
Blatantly. The offenders would simply grep the binary for key
strings (like the title screen) and change them to different text.
The time required to catch the infraction, get an injunction (usually
the offending games were imports) and have it enforced was longer
than the life-cycle of the game (at the time, many games were "90 day
wonders").
Lots of clever ideas to prevent/discourage that sort
of thing ;-)
I have images online of the Tempest ROMs. (Tempest was a colour
vector game from 1980, possibly the best arcade game ever in my
estimation, though Omega Race gives it a run for its money. Certainly
a little sniffing around on the Web indicatse that Tempest is one of
the most sought-after arcade games.)
I've been working on disassembling and uncompiling them. There's all
of 24K of data there - very parsimonious of code space compared to
"modern" umpty-ump megabyte games, and more playable than most - and
yet it has defense in fair depth against such copying. There are at
least three or so (it's been a while since I looked) loops that
checksum various things to make sure they haven't been tampered with:
one to checksum the copyright message for the splash screen, one to
checksum its appearance in video RAM, one to watch the other two, and
for all I know more I haven't sussed out yet. At least one of these is
broken and misfires in legitimate copies of the game; it is responsible
for Easter-egg lists of the form "die between levels X and Y with the
last two digits of your score being ZZ and get this magic effect" - the
actions these bits of code take when they think they've detected
invalid copying are to bash bits of memory to produce random breakage,
and those "magic effect"s are the random breakage. Someone noticed
that the "random" part wasn't really random but just came from the low
byte of the (BCD) score.
/~\ The ASCII der Mouse
\ / Ribbon Campaign
X Against HTML mouse at rodents.montreal.qc.ca
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B