Yeah, you get harder to decruft stuff from a good
programmer, but
even a bad programmer can make your life hell by inserting tons of
checkForValidLicense() calls sprinkled throughout the code.
Naw, just means you have to patch checkForValidLicense() itself. :)
[...] so at
least in my experience, there were definitely some
"no-op the branch" and you're done, but that was a far minority of
programs.
I have no experience in these matters, merely suspicions :-).
I have little experience, but I did once spend quite a while poring
over ROM dumps from the Tempest video game. 24K of ROM, I think it
was, and they got a whole game - one of the most playable games I've
ever seen! - into it. They just don't make 'em like that any more.
I bring it up here because, in my grubbing about in the code, I found
some copy-protection. It was designed not to prevent verbatim copying
of the game (that would have been a hopeless task in this case), but
rather to ensure that the copyright notice message appeared when it
should. (The code was a bit buggy; one of the checks fired even in
legitimate copies of the game, and is responsible for easter-egg lists
for Tempest of the form "die with score ending in XY between levels N
and M and this magic thing happens".) They had defense in comparative
depth, with code to checksum the copyright message itself and the code
to display it, more code to make sure it made it into the display list,
and I think (it's been a while) yet more code to watch to make sure the
other checks were intact. Given how constrained they were, I thought
they did a remarkably good job.
/~\ 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