Way to do some encryption
5 posters
Page 1 of 1
Way to do some encryption
Sir Chris,
Many of our local developers have been troubled by people pirating our work or reposting them without permission(or even selling them on shopping websites ). Also, someone is editing our routes by just changing the textures and took all copyright of the results. Although it is a kind of 'open-source' spirit, we just don't feel like it. We want to make it something like CC-BY-SA-NC, but applying licenses just won't stop them from breaking the rules.
So we wanted to 'encrypt' our route files a little bit with AES, and add a checksum to make editing more difficult(since we can clearly see the people violating the laws are not professional programmers at all as they could not do anything but editing the textures with mspaint). We are aware that this is not what openBVE is like so we decided to make a forked "patched" version with these abilities added.
And here comes the problem. Your refactoring parsers into plugins certainly made editing them much easier , but I had a problem when looking through the codes. To make sure people take a slight look at our website, the password of the AES algorithm is required for the assets to be parsed (I'll put that on our website, and I think I will make a winform for that before route loads and store the user input into a new field in OpenBveApi.FileSystem or something like that). However, I could not find a way to pass such paramters into the asset plugins.
Could you please tell me a way to achieve this? Or if you think the thing we are trying to do doesn't seem right, please give us a little hint for that !
Many Thanks!
Many of our local developers have been troubled by people pirating our work or reposting them without permission(or even selling them on shopping websites ). Also, someone is editing our routes by just changing the textures and took all copyright of the results. Although it is a kind of 'open-source' spirit, we just don't feel like it. We want to make it something like CC-BY-SA-NC, but applying licenses just won't stop them from breaking the rules.
So we wanted to 'encrypt' our route files a little bit with AES, and add a checksum to make editing more difficult(since we can clearly see the people violating the laws are not professional programmers at all as they could not do anything but editing the textures with mspaint). We are aware that this is not what openBVE is like so we decided to make a forked "patched" version with these abilities added.
And here comes the problem. Your refactoring parsers into plugins certainly made editing them much easier , but I had a problem when looking through the codes. To make sure people take a slight look at our website, the password of the AES algorithm is required for the assets to be parsed (I'll put that on our website, and I think I will make a winform for that before route loads and store the user input into a new field in OpenBveApi.FileSystem or something like that). However, I could not find a way to pass such paramters into the asset plugins.
Could you please tell me a way to achieve this? Or if you think the thing we are trying to do doesn't seem right, please give us a little hint for that !
Many Thanks!
Re: Way to do some encryption
Interesting question.
First, let me state that Michelle was strongly against anything of this nature.
To be honest, I don't really support this either, and this will not be added to the main source tree in any way.
However:
Attempting to implement another form when the thing loads is likely to be a bad idea. I've tried this in the past, and it only works at all on Windows, and unreliably at that.
If you wish to do this, the only really sensible method is creating a forked parser plugin and hardcoding the password in there & not supplying the source.
Alternatively, it should be trivial to modify the Load method called when the plugin is created.
First, let me state that Michelle was strongly against anything of this nature.
To be honest, I don't really support this either, and this will not be added to the main source tree in any way.
However:
Attempting to implement another form when the thing loads is likely to be a bad idea. I've tried this in the past, and it only works at all on Windows, and unreliably at that.
If you wish to do this, the only really sensible method is creating a forked parser plugin and hardcoding the password in there & not supplying the source.
Alternatively, it should be trivial to modify the Load method called when the plugin is created.
Re: Way to do some encryption
Encrypted and obscured formats are bad. They make developing much harder by at least adding an extra step on the way from raw editable files to playable content. And generally, whenever an attempt to implement an "anti-piracy" system is done, it either breaks everything or harms absolutely everyone. And it'll be just ridiculous in an open-source project like OpenBVE.
So, tl;dr: don't do it.
So, tl;dr: don't do it.
Delsin- Posts : 313
Join date : 2016-08-20
Re: Way to do some encryption
leezer3 wrote:Interesting question.
First, let me state that Michelle was strongly against anything of this nature.
To be honest, I don't really support this either, and this will not be added to the main source tree in any way.
Would it be possible instead to have some kind of checksum or signature routine in the packager? I'm opposed to encryption, but I'm not opposed to very carefully implemented watermarking, (which seems to be a reasonably standard practice in computer animation, and digital visual effects industry.)
alex_farlie- Posts : 105
Join date : 2011-08-27
Re: Way to do some encryption
alex_farlie wrote:leezer3 wrote:Interesting question.
First, let me state that Michelle was strongly against anything of this nature.
To be honest, I don't really support this either, and this will not be added to the main source tree in any way.
Would it be possible instead to have some kind of checksum or signature routine in the packager? I'm opposed to encryption, but I'm not opposed to very carefully implemented watermarking, (which seems to be a reasonably standard practice in computer animation, and digital visual effects industry.)
9 times out of 10 you can tell by the work who’s completed the original file. Also headers are sometimes placed within each individual file inside the train.
OpenBVE has had a rough time with developers falling out and accusations flying left, right and center and it’s not something the simulation could do with again.
End of the day it’s a free sim done in spare time around other life commitments.
mrknowitall- Posts : 824
Join date : 2011-07-09
Age : 31
Location : W. Yorkshire
Re: Way to do some encryption
Again, this *willl* not be being added to the main sim.
Encryption, signature verification etc. will not solve any new / real problem that merits developer effort being put into it.
Locking this now as the question has been answered, and before it gets out of hand....
Encryption, signature verification etc. will not solve any new / real problem that merits developer effort being put into it.
Locking this now as the question has been answered, and before it gets out of hand....
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum
|
|