Was there ever a case of a spreadsheet application introducing intentional floating-point errors when it detected that it had been pirated? Particularly errors that were small enough to go unnoticed until multiple calculation steps made them add up?

For some reason I thought that there was but I can't find anything about it now.

  • 3
    Side comment: if I would purchase such software and get to know that it behaves this way, I would stop using it immediately. Risks are: what is the guarantee that software is currenlt running in legitimate mode? How piracy is detected, and can I check right now if my spreadsheet runs properly? As it may cause huge losses (e.g. financial) or even the risk of injury by the production made using such spreadsheet in wrong mode. In overall this approavh is extremely bad for sales - scaring good customers. I bet companies "protecting" this way are bankrunpt if not in the court/jail. – Anonymous Dec 5 at 9:32
  • 1
    The way most software licencing works, if the software "knew it has been pirated" (i.e. it wasn't licenced) it wouldn't run at all, or only in some restricted mode (can't save files, times out after a short period, etc.) I can't see the purpose of "giving slightly wrong answers". – alephzero Dec 5 at 9:42
  • 2
    @Anonymous I am well aware that it is a bad idea and I would not trust a company that did that, but that doesn't mean someone wouldn't have tried it back in the day. – Micheal Johnson Dec 5 at 10:02
  • 2
    @alephzero More modern software, yes. Some older software had "creative" ways of punishing pirates. – Micheal Johnson Dec 5 at 10:02
  • 1
    Some old game software for the Amstrad CPC in 3-inch disk media, required the disk not to be write protected in order to run. Should the program detect that it was not a legitimate copy, a very funny format routine would be triggered. After that, you end up with a nice one blank disk. – DroidW Dec 5 at 10:14

Although I've only seen such things in games rather than in professional software, the same principle could apply to both: if the program is not altered, it will either behave correctly or refuse to run at all, but attempts to alter the program to bypass the protection will cause other parts of the program to occasionally malfunction in possibly-subtle ways. If one uses a compiler and linker that can treat values of the form someConstant+(uintptr_t)&someObject as link-time-resolvable constants, one can arrange things so that the parts of the code that use easy-to-find copies of addresses will automatically be kept synchronized with "hidden" ones every time the program is linked, but someone who tries to patch the machine code would cause the copies to get out of sync.

Even here, I would think going for subtle behavioral variations would be a bad idea, because people might equate flakiness of a pirated version of the code with flakiness of the original. On the other hand, it may be good to write such code in such a way that it will often work for awhile, but occasionally fail with a report that it has been tampered with, using code written in such a way that someone encountering the message would have a hard time finding the code that produced it.

  • 1
    Whilst this is all very interesting, it does seem to be at a tangent to the question, and doesn't make any attempt to answer it (i.e. "Was there ever a case of a spreadsheet application introducing intentional floating-point errors when it detected that it had been pirated?"). – Toby Speight Dec 5 at 17:08
  • 1
    I've certainly seen such things in games. Not a spreadsheet application in particular, but the concept is same. Further, the more subtle failures could not be induced merely because the piracy-detection logic thought the game was a copy, but only if that logic was bypassed. – supercat Dec 5 at 18:53
  • 1
    While this provides more background to the question, including one way that such "erroneous" behavior can be triggered either intentionally or accidentally and suggests a way that a protection mechanism of this kind might be implemented when writing software, I'm looking specifically for examples of spreadsheet applications that use this kind of protection mechanism as I seem to remember coming across it before. – Micheal Johnson Dec 5 at 20:28
  • 1
    There is a story about an Apple II game that included such a copy or tamper detection mechanism. However, the strategy backfired, as the “errors” in the hacked game made it harder to play, thus more of a challenge, thus making it more popular than the original purchased version of the game. – hotpaw2 Dec 7 at 0:31

Perhaps you're remembering "copyright trap": small and inconsequential errors acting as a fingerprint. A product with the same errors must have been copied; if there's no licence, some kind of infringement. I have heard of software with this kind of thing, but don't know of any spreadsheet software. Also some map copyright cases.

Related idea is that of "calculator forensics", from a researcher trying to find similarities in the exact behaviour of various calculators, specifically tabulating the result of calculating asin(acos(atan(tan(cos(sin(9)))))) in degrees. https://www.rskey.org/~mwsebastian/miscprj/algorithm.htm

  • 2
    Re "calculator forensics" -- a similar idea cropped up in the popular DOS shareware assembler "A86": there are various instructions that can be encoded in multiple ways (the "modr/m" field that is used to specify either an effective address or a register contains a field to indicate direction, which means for example that for MOV AX,BX you can either encode the instruction as "from AX to BX" or "from BX to AX"); the assembler picks the form to use based on an algorithm that leaves a fingerprint behind, the idea being that the author could use it to identify unlicensed commercial use. – Jules Dec 6 at 0:58
  • 3
    @Jules, there's a rather massive functional difference between from AX to BX and from BX to AX. I think you may have meant from AX to BX and to BX from AX. – user6464 Dec 6 at 2:31
  • I have heard of a copyright trap. How has this been applied to software? – Micheal Johnson Dec 6 at 17:04
  • @paxdiablo -- err, yeah, that's what I meant. :) – Jules Dec 7 at 0:30
  • A variation of this fingerprinting is the use of a "canary trap" to identify the leaker of sensitive documents. By giving every intended recipient a slightly different version of the text, a leaked copy can be matched to the original recipient. See en.wikipedia.org/wiki/Canary_trap – Kaz 2 days ago

In the 80s-90s, nobody would design anything that would bugger their own software, copy protection was physical, remember, telephone support only nothing online! However, it would not be unusual if you discovered that after you saved your data it mysteriously started to get the odd auditing error here and there causing huge frustration. Before virus's etc software sometimes incorporated what we called TSJ or TSV 'Target Specific Trojan', these would tamper with your competitors data not in an obvious or dramatic way but in a very subtle impossible to realise what is going on type of way, the attack was not random but highly targeted to mimic bugs (such as items in an order being lost, an auditing Z-read to not balance with itself etc). The clever bit is quite often the Trojan was incorporated into the copy protection sector itself so continued doing its job even after all the software was erased! This was not software written by a self taught hacker in Mumbai, these were developed by highly skilled systems programmers with years of experience and in those days highly detailed specialist hardware knowledge! I always thought it was amusing that it took about 10-15 years before virus scanners got clever enough to report 'suspicious activity', by then everybody had moved on and the wars and battles long forgotten!

  • 3
    I have a hard time believing this. Can you cite a specific source which describes an example of this? – duskwuff Dec 6 at 0:42
  • @duskwuff I recall an around-1990 popular science magazine article that discussed how, in the future, computer viruses could be tailored for particular companies in order to wreak havoc, and how that would potentially play out. I don't think there was much actual fact in that article besides ordinary computer virus stuff, and a story of how one "virus hunter" would go out to customers to clean their systems. That's the closest to what this answer describes that I can think of ever having seen. (I can probably dig out that article and provide a proper reference if anyone actually cares.) – a CVn Dec 8 at 14:33

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.