They still offer a cracked version of my plugins that are fully functional except for the nag screen.
Argh thatâs depressing.
Beware name mangling. Stuff like Ghidra can reverse engineer the whole program flow.
Realtime assembly debugging + step by step execution and if/else checks can be removed trivially.
Should be kept in mind. Especially if no inlining is used. Functions can be easily skipped by deleting a few instructions. And the assembly difference â crack / memory patch.
Even virtual machines for protected code execution or expensive solutions like Denuvo for million dollar AAA Game titles will be removed eventually. You canât outsmart anyone with âcode tricksâ. Only make things harder by using something very unconventional. One logical flaw and all effort is wasted.
There is no hope : D
Copy protection can be really fun if thatâs your cup of tea, otherwise, just donât bother, as other have said, itâs an endless cat and mouse game.
It is possible to reasonably delay a crack (which should be the main aim of your copy protection) or, even better, have an incomplete crack that eventually time-bombs, like all our recent cracks.
My suggestion is to use RSA or any other asymmetric encryption (and put the public key in the binary, not the private key!), this way they will need to crack the plugin every time and a keygen wonât work on future updates. Set up a system to automatically place/update time bombs at each build you do.
We also have separate demo and full versions for a few products. It definitely helps delay a full crack, but leaks and fraud transactions can happen. They do release cracked demo versions too, but if you strip them down they are basically useless.
Donât punish your customers with dongles, C/R, or such things. iLok and Wibu have been cracked.
Periodic silence or white noise is a common practice in many plugin demos so I hope 99+% of the user base will understand what it means. I did add a couple of visual clues though.
That is what I am hopping, but then parameters can still be seen by the host, so I guess either replacing those save/load methods with generic ones, or embedding the plugin into some sort of shell would still work. One solution would be to use a normal value tree instead of the the audio processor when in demo modeâŠ
Hey, we all die eventually yet everyday we strive to survive a little longer
So based on your experience would you say a demo version with no state load/save will not be subject to piracy?
A bit off topic but long time ago i remember that i formatted/reinstalled MacOS (9!?) each month during few years to use the time limiting demo of Max/MSP. A silly hack. At the end i bought it.
No, they will crack it anyway. But if the plugin doesnât save its state or doesnât have all the features/content, itâll be useless. Eventually youâll get a leak or fraudulent transaction and the full version will be cracked.
The trick is making a good enough demo for your customers.
We decided to have separate installers for demo/full only on the products that have a lot of content/samples.
Or I was worried the load/save state could be replaced easilyâŠ
I got a few fraudulent transactions on my previous plugin, but no crack or leaked serial I could find. I probably did not search âdeepâ enough though.