My name’s felt_tips from over at Videohive. Excuse me if this question sounds a little naive. Although I dabble in things technical I’m really a designer rather than a coder.
I sell a script for After Effects, but there’s almost no security and it’s being ripped left right and center. It means that I can’t develop it further because it’s so easy to crack and most people are using it for free.
So my question. How easy would it be to do what I described above? How much would it cost approximately at market rates to work with a programmer to produce a system whereby my script is protected? And is it worth it?
Thanks in advance if you can help.
PS… any other security ideas most welcome!
If you are on a Windows Machine copy and paste this into say: “testScript.vbs”
Those are just ones I had laying around for testing. If you are looking at a windows machine check out the WIN32 tables.
- Community Moderator
- Author had a Free File of the Month
- Most Wanted Bounty Winner
- Author had a File in an Envato Bundle
- Has been a member for 4-5 years
- Contributed a Blog Post
- Repeatedly Helped protect Envato Marketplaces against copyright violations
Yer the only way I can think of implement some level of protection would be to provide a unique “After Effects” file to each and every customer. Three ways to provide this unique file could be:
1) Generate the after effects file from an executable that is contained within your “downloads” file on videohive. It asks the user for their license purchase code, and optionally combines that with their system information. A quick check against the envato api will verify their license purchase code, and provide them a generated after effects file that they can save to their desktop and start using. Each time the after effects file is run, it can check the machine identity and prompt them to re-generate it from the executable if things change (ie: computer upgrade). It could also hit the envato api to verify the purchase code each time the script is run (incase they get a refund or something) and the effect could fail to load if the result is incorrect.
2) The first time the after effects file is loaded it can check for a license purchase code, if none is found it can prompt for one within after effects (im not sure this is possible??) and save it somewhere in an after effects cache/registry/whatever they use. Each time the effect is loaded it can verify the license code with the envato api if there is an internet connection. as above
3) Finally you could only provide help documentation in the videohive download file. Directing buyers to a page on your website, which asks for their license purchase code, and after verification with php they can download their custom after affects file. This file will contain their license purchase code hidden somewhere within.
Anyway the end result will be an after effects file with a hidden license purchase code in it, so if the file gets out you can at least track it back to the original buyer. Quite a deterrent in my opinion.
(note: I have no idea how after effects files work, what format they are in, what code they can run, etc.. )
Thanks guys. Very interesting. I’m actually on a Mac, but I could try the same thing that Tutelage suggests with Applescript… i.e. picking it up in the script and then transplant the concept over to Windows.
@dt. It’s actually a script (kind of a complicated AE macro) that I’m trying to protect. I think the protected AE project is more complex. Even a script that generates an aep is subject to piracy, as once extracted it can be rezipped and passed on.
It would be possible to use the above technique to cross reference a machine ID with a downloaded licence file, pick this up in the project via After Effects own ECMA based expression language, but that would mean embedding the protection code right the way through the project…. and it’s still subject to hacking (I guess the complexity would put most Videohive users off). But of course, it’d require some kind of licence server too and DRM can be a hassle that puts customers off.
It’s be an interesting principle to try and apply site-wide though.