Earlier quoted context omitted.
> from a business point of view, is especially important in a field where regulations do not change very fast, because users have little incentive to upgrade. Why should users upgrade or keep paying you when they already bought what they need and don't need anything else?
Because 1. Physical dongle tends to break, and when it does, they expect us to give them replacing parts 2. They do expect bug fixes-- especially calculation bug fixes-- as the bugs are discovered. It's hard to leave their production critical apps broken like that once you know that the bugs can cause monetary or even life loss.
Defeating a 40-year-old copy protection dongle
261–270 of 302 posts
Re: Defeating a 40-year-old copy protection dongle
#262Earlier quoted context omitted.
back in the mid to late 90s, I got a trial for compuserve that was a free 2 month trial. I liked it as as they provided dialup PPP access so was able to use it as full time internet access. It wasn't quite "2 months" of access though. It was 1500 hours of access (which in practice > 24*62). However, their usage accounting software wasn't great. I had it setup to reconnect if the connection dropped, and they didn't do…
Heh there was some ad supported dial up Internet I found. you were supposed to download their browser and it'd dial in and work normal enough. I noticed it created a windows dial up connection. When you launched the browser the login info worked on this. I could just dial their server and save the username and password and use any browser or game normally.
Re: Defeating a 40-year-old copy protection dongle
#263Earlier quoted context omitted.
Sure. Anything's possible. My point was that any company response in this particular case is vanishingly unlikely. > They could have been bought by a bigger company. Any acquisition (or bankruptcy) in the 2000s is highly likely to have created a web trail. > If the copyright isn't registered, and often even if it is, there's no way to know who owns it now. But trademarks need to be renewed, which creates a web trail.…
You can break laws. You just have to realistically estimate the risk. The chance is low, but the impact is high. Maybe you set up an LLC just in case, or you act from the shadows like "Anna" The government's traditionally very weaponized. I'd err on the side of overestimating risk unless you're certain about the legalities. Your life could be ruined. Most things that are worth doing could ruin your life. You could di…
Wow. I kind of regret the effort supplying supporting facts and reasoning demonstrating the impact is almost invariably zero or negligible.
> Most things that are worth doing could ruin your life. You could die in a car crash too.
So... you agree?
> You have to choose which risks to take.
And you have to choose which concerns to troll. Maybe consider the potential unintended harm you may cause of stopping something worth doing before evoking the specter of a scary-sounding consequence. A consequence which is, in reality, very nearly always harmless (in the non-profit, preservation with reasonable prior search scenario) as well as vanishingly unlikely to happen at all.
Re: Defeating a 40-year-old copy protection dongle
#264>Very importantly, there doesn’t seem to be any “input” into this routine. It doesn’t pop anything from the stack, nor does it care about any register values passed into it. Which can only mean that the result of this routine is completely constant! This is not necessarily a fair assumption (though it worked this time). It could be some sort of a rolling code, where the reply is not constant but changes, and remains…
Unles the verification routine (eg. garage) keeps some state somewhere it has no way to prevent replays.
Re: Defeating a 40-year-old copy protection dongle
#265>Very importantly, there doesn’t seem to be any “input” into this routine. It doesn’t pop anything from the stack, nor does it care about any register values passed into it. Which can only mean that the result of this routine is completely constant! This is not necessarily a fair assumption (though it worked this time). It could be some sort of a rolling code, where the reply is not constant but changes, and remains…
Unles the verification routine (eg. garage) keeps some state somewhere it has no way to prevent replays.
But even that need not be true. here is how you could design that dongle to require no persistent state on RX and still not allow simple replay.
TX code:
static u8 counter = 0;
tmp = randU12() * 16 + (counter++);
tmp2 = sha256(secret + tmp) & 0xffff;
send32((tmp
RX code:
static u16 prevSeenCodes[16];
static u8 idx = 0; tmp = recv32();
tmp2 = tmp & 0xffff;
tmp >>= 16;
if (sha256(secret + tmp) & 0xffff != tmp2)
fail();
if (tmp in prevSeenCodes)
fail();
prevSeenCodes[15 & idx++] = tmp;
now you need to replay at least a sequence of 16 codesthat array is in ram and need not persist across program runs. dongle can be powered off or can be left on. all will work
Re: Defeating a 40-year-old copy protection dongle
#266This reminds me the old days of Windows 95 when I found a software to burn CDs that had a trial version which was limited to 150MB of data or so. If you tried to create a CD bigger than that it would refuse to burn and it would instead open a popup and tell you that the image exceeded the limit of XYZ blocks allowed by the trial version. So I first decompressed the executable program (Windows executable were often pa…
My grandma used to be playing casual games from a certain publisher on her PC. They were all trial versions, though, limited to 30 minutes or so. Turns out, the time left was stored in the registry, and didn’t have any validation – so when a 10 y.o. me made a quick edit, she was left with 4294967295 minutes of trial left.
otherwise you could have gifted a very nasty trial time of -1 minute! a pretty nice anti-addiction feature :-)
Re: Defeating a 40-year-old copy protection dongle
#267Earlier quoted context omitted.
Having to put a physical device on your parallel port at the back of the computer is kind of annoying, especially if every software you use has one. More common for games was to use the media itself for copy protection, using a variety of tricks to make copy more difficult. Other techniques involve printing some keys you have to enter using colors that don't render well in photocopies, or have you look at words a cer…
Makes me sad how many person-years of effort have been wasted over the years on futile dongle-engineering, copy-protection and DRM. They're pretty much all cracked. And the industry keeps insisting on trying!
This has many negative side effects, but if the game doesn't require twitchy reflexes it's usually not very noticable. It's also terrible for preservation.
Re: Defeating a 40-year-old copy protection dongle
#268Why wasn't (isn't) this more widely used? It was clearly more effective than a cdkey. I know there is cost associated with the hardware, but surely the costumer can cough 15 more dollars. The only reason I can think of is wanting as wide adoption before max revenue as possible. But then, this has never been too popular, not even for games!
One problem is that they often couldn't be daisy chained, the connector on the back was only useful for an actual printer. So if everybody started doing it you would have to swap them constantly which is a headache. So they're mostly used for software where it's going to be the only thing running on the box. I find it interesting that they didn't make it into the USB era where you could easily have something that doe…
Re: Defeating a 40-year-old copy protection dongle
#269This reminds me the old days of Windows 95 when I found a software to burn CDs that had a trial version which was limited to 150MB of data or so. If you tried to create a CD bigger than that it would refuse to burn and it would instead open a popup and tell you that the image exceeded the limit of XYZ blocks allowed by the trial version. So I first decompressed the executable program (Windows executable were often pa…
My grandma used to be playing casual games from a certain publisher on her PC. They were all trial versions, though, limited to 30 minutes or so. Turns out, the time left was stored in the registry, and didn’t have any validation – so when a 10 y.o. me made a quick edit, she was left with 4294967295 minutes of trial left.
Re: Defeating a 40-year-old copy protection dongle
#270Earlier quoted context omitted.
Honestly, if they never need anything more from the developer, a perpetual license and never spending another dime seems fine. However, in modern times, OS vendors (especially one named after fruit) tend to break a ton of APIs and change rules with every "major release," meaning developers have to invest a ton of effort to at minimum meet all those new requirements every year (!) or else the app will at best look out…
Right, but then you're providing tangible value to the customer and thus it's warranted to charge again. The fairest thing to do is when a customer buys the software, they're entitled to that exact version forever. Or maybe 1 year of updates and bug fixes if you're feeling nice. If they want the next version that supports the next OS, it's fair to charge some more. This what IntelliJ does. When I buy their IDE I can…
Sure. And if the audience is very broad that could be perpetually sustaining -- they're each year selling new licenses to people who just became old enough to want that type of software. You can see how a major IDE can afford to do that, right?
What it is really bad for is more niche software. This software often reaches its whole addressable audience in just a few years, and then revenue dips toward zero until the random occurrence of an OS breakage, which may take 1 year or 5 years. And some people even expect that "unbreaking" update to be free.
Obviously everyone has a right to refuse to buy under any business model other than a perpetual license if they wish. But I think that refusal to consider paying for subscription-based software under any circumstances greatly decreases the options that are going to be made at all, as the perpetual license model is absolutely unsustainable to all but the largest developers, and the apps with a very broad, naturally-replenishing audience. Everyone else will either quit or make ad-supported crap.