Question Any creator know how to encrypt one's work?

VAMSOY

Well-known member
Messages
83
Reactions
969
Points
93
Website
www.patreon.com
Patreon
VAMSOY
I want to create something very special for some of my long-time supporters. Just wondering does anyone know how to encrypt a scene so only certain people will be able to play it on their PC? Or point me in the right direction. Thanks a lot!!
 
Vam doesn't support reading encrypted files. Probably the best you could do is make a password protected Zip file of the var, put that on Mega or somewhere, then give the path and the PW to your supporters. Of course, if one of them betrays your trust, it could still get out.
 
Upvote 0
Encryption, at least within the limits of having to work with VaM are likely easily circumvented. You just risk causing tech issues for your legitimate customers.

As a better alternative I would suggest to look into watermarking your content. Meaning adding something unique to your content, usually some kind of hidden code/number that is different for every customer. So, every customer get's a different VAR to download. IF the content leaks...you can check who leaked it and can perma-ban them.

If we are just talking about a few customers, you can do it by hand. If it's too many you may need to find ways to automate it, though.

Examples:
  • Add something to one of the JSON files, like your scene or the meta.json. VaM ignores entries it doesn't know about, so you can easily add your own somewhere in the depths of it. Something like "wm" : "rgdDFFh95934534uti"
  • The downside of adding things in JSON that are being ignored by VaM is that you can easily get rid of them by just re-saving a scene. Instead you could use atom names, colors, positions, rotations or some other parameter. Something that isn't actually relevant, maybe because it's invisible or under the floor or whatever.
  • Adding something to a texture in an area that isn't actually used. E.g. skin textures have large areas that actually aren't mapped to any body part. You can easily add some text or even some "random noise" there.
  • Adding small files to the VAR that actually aren't used for anything, hidden in some morph folder or whatever.

The trick in the end is of course to add multiple such things. Some obvious, some less obvious...to it's hard to be sure one found and removed them all.


And then of course....you could just say you watermarked it...without actually doing anything at all. That's a LOT less work and might scare of most leakers just the same :ROFLMAO: You could even post occasionally that you banned "user X" for having leaked your stuff, clearly proven via your fancy watermarking...with "user X" of course never having existed at all. In the end you have to decide whether you want to spend time on such nonsense (it can always be circumvented anyway!) or decide to just not care and rather work on actual content.
 
Last edited:
Upvote 0
And then of course....you could just say you watermarked it...without actually doing anything at all. That's a LOT less work and might scare of most leakers just the same :ROFLMAO: You could even post occasionally that you banned "user X" for having leaked your stuff, clearly proven via your fancy watermarking...with "user X" of course never having existed at all. In the end you have to decide whether you want to spend time on such nonsense (it can always be circumvented anyway!) or decide to just not care and rather work on actual content.
Hah, sneaky, but i like it.

If you're worried about your content, and you can code, i bet you could create and include a dll that does the decryption on the fly i suppose. I've thought about it, but never really attempted it. I remember in vB there was a generic obfuscate or encrypt (VBS -> VSE), but it was the same across all systems, and all you had to do was run it through decryption. I used that at work, since most of the engineers 1. Could not code to save their life, 2. Didn't know what encryption even was, as a way to keep them from editing code and breaking something bigger. No matter what we do, unless it was a key that was generated inside VAM itself, for each user who wanted to encrypt, it would have to be exposed prior to execution, and most likely a determined user could unencrypt it. DAZ Studio does this, there is a common encryption for it's DSE files, if you flip the right bit in the DZCORE.DLL they are all decrypted.

I think if meshedvr was interested in providing a method for the content creators, an updatable key list could be created and included with VAM and content creators could purchase individual encryption keys to encrypt their code. I'm sure that this would just lead to a bunch of other issues. I'm rambling ... time for my ADHD meds.
 
Upvote 0
Having a dll in a var is going to scare a lot of people away. I just don't think there is a good answer to this that isn't a lot more work for the content creator, or a lot more nuisance for the end user.

Perl is the only computer language that looks the same before and after RSA encryption...
 
Upvote 0
Back
Top Bottom