4 ms·
Half backed solutions that never work. If it can be read, it can be copied - it's that simple.
by unnouinceput 5y ago
Half backed solutions that never work. If it can be read, it can be copied - it's that simple.
- amelius 5y agoOk, but some ARM CPUs are very cheap, so you could run part of your software on a small hardware box with tamper-proofing. The compiler could move the outer loops to the external CPU, and leave the inner loops to the main CPU which is faster. Of course you would have to think about how you move data around, but in principle why wouldn't this work?
- unnouinceput 5y agoCool, you do that then wage a million dollars it can't be copied then I'll come to collect the million. In the entire history of software there was absolutely zero copy protection for a determined person. Not just commercial one, but think of FBI/NSA/CIA level of protection, and yet they failed spectacularly when a determined individual wanted to steal the secrets. Hence my above "if it can be read, it can be copied".
- h2odragon 5y agoTake a look at smart card authentication systems, for example those used in subscription TV services. The "smart card" is usually an 8051 type micro controller and does a little bit of cryptography to be the DRM. The battles between the companies and hackers in that scene were fascinating.
- anthk 5y agoThose were hacked over and over.
- robin_reala 5y agoThe basic idea has been around since the 80s, although not to the extent you describe it: https://en.wikipedia.org/wiki/Software_protection_dongle https://en.wikipedia.org/wiki/Software_protection_dongle
- stevekemp 5y agoVery much so. I remember patching binaries to remove dongle-checks back in the MS-DOS days, in those days the dongles were plugged into the parallel port. I guess these days you could have a USB-device that did useful calculations, so without it software would give the wrong/broken results. But I've not come across anything like that in recent times.
- squeaky-clean 5y agoAt that point you're not copy-protecting software, you're releasing a hardware product. Every sale of your software product requires production of a hardware component. But to answer why this wouldn't work, I'm not particularly involved in cracking / reverse engineering, so maybe someone will chime in with better answers, but. If your code requires portions of it to run on my main CPU, can't I just black-box reverse engineer your external CPU? And like you say, ARM CPUs are very cheap, so with an iFixit kit and some soldering skills, couldn't I just move your ROM over to a raspberry pi or etc? Lastly, as a customer this heavily limits how I can use your software. So unless there are absolutely zero alternatives, I would just avoid purchasing this at all. It reminds me of what iLok has been trying / tried to do in the music production space. Originally it was a DRM scheme that required a USB dongle to run any iLok protected audio plugins. It wasn't too long until iLok server cracks existed. And while I don't have any insights into iLok or companies that chose their dongle based protection, almost every single plugin maker that used the iLok dongle has now moved away from it and iLok now offer a dongle-less DRM scheme comparable to other activate-via-internet methods. Edit: Another popular example in music production is Universal Audio plugins. These don't just offload parts of the application to a similar processor for DRM purposes, but actually have dedicated SHARC DSP processors which they offload the processing onto. These plugins have stuck around without angering the general community because it's not purely a copy-protection method. They actually remove significant amounts of processing from your main CPU onto their DSP processors. This has become less significant as CPUs have gotten better and better and requires a minimum $900 hardware investment up front. But it is still a more legitimate reason for a "dongle" than being just DRM.
- amelius 5y ago> At that point you're not copy-protecting software, you're releasing a hardware product. Not really if the hardware costs $5 and the software $1000, wouldn't you agree? Also, the same hardware-design can be used for different software products. > couldn't I just move your ROM over to a raspberry pi or etc? Well, you could tamper-proof it. For example, wrap a thin copper wire around the board, and immerse the entire thing in epoxy. When someone tries to get to the CPU or flash memory, the copper wire breaks and the flash is reset. Or something like that.
- aerostable_slug 5y agoDongles are still very much a thing, though I'm pretty sure no processing is offloaded to them: https://cpl.thalesgroup.com/resources/software-monetization/sentinel-keys-data-sheet https://cpl.thalesgroup.com/resources/software-monetization/...
- cm2187 5y agoStill, what prevent the modified software from providing what that hardware device needs to be happy (if it is cheat prevention, that device can’t inspect what is in RAM) or removing the bit of code that checks for this hardware?