Anti-Piracy?

Status
This thread has been locked.

TheEpicPotato

Java Developer
Feedback score
0
Posts
131
Reactions
84
Resources
0
I'm wondering what some of my fellow developers use to combat piracy, except for obfuscation. I'd appreciate a private conversation about this (for obvious reasons).
 

TheEpicPotato

Java Developer
Feedback score
0
Posts
131
Reactions
84
Resources
0
Just keep proof in the work of it to show that you've made it first and own all rights well to have made it.
That wont really stop the problem though, especially for private transactions, say between two friends? Then you have the leak forums.
 

TheEpicPotato

Java Developer
Feedback score
0
Posts
131
Reactions
84
Resources
0
Use advanced license, it's a licensing system for plugins that you can use. It's a free resource on spigot, it was supposed to be premium but spigot doesn't support the licensing system type things.
I'll have to check it out!
 

user7089

I deleted discord. Clones are scams.
Premium
Feedback score
5
Posts
137
Reactions
112
Resources
0
Advanced license is way too easy to bypass, yes you can fight piracy, but it's difficult. Anyway this is how you do it
You have your core plugin, a plugin that takes care of your other plugins. And a backend server. Now you need an encrypter that takes 2 keys, secret string from server and license code. And a plugin. Now that you have all of those you encrypt your plugin. And get the decode key from server which is done during runtime, if a license gets deleted, the plugin no longer can be decrypted and it will lock itself out. Yes I have this system it took me a long time to make it and I'm planning to release it but it will take a long time till it will actually be suitable for production use
 

TheEpicPotato

Java Developer
Feedback score
0
Posts
131
Reactions
84
Resources
0
Advanced license is way too easy to bypass, yes you can fight piracy, but it's difficult. Anyway this is how you do it
You have your core plugin, a plugin that takes care of your other plugins. And a backend server. Now you need an encrypter that takes 2 keys, secret string from server and license code. And a plugin. Now that you have all of those you encrypt your plugin. And get the decode key from server which is done during runtime, if a license gets deleted, the plugin no longer can be decrypted and it will lock itself out. Yes I have this system it took me a long time to make it and I'm planning to release it but it will take a long time till it will actually be suitable for production use
I don't think I'd want to encrypt and decrypt byte code on the fly like that though. Although that's on the right track, I'm certain a server would be required.
 

Zilema

Feedback score
0
Posts
210
Reactions
109
Resources
0
There isn't much you can do about it. If you want to release a plugin, just expect it to be leaked and used. If not, don't release anything.
 

TheEpicPotato

Java Developer
Feedback score
0
Posts
131
Reactions
84
Resources
0
There isn't much you can do about it. If you want to release a plugin, just expect it to be leaked and used. If not, don't release anything.
Definitely not true, I have my own proven system.
 

TheEpicPotato

Java Developer
Feedback score
0
Posts
131
Reactions
84
Resources
0
Two reasons, conversation, and ways to improve my system. Its very manual.
 

user7089

I deleted discord. Clones are scams.
Premium
Feedback score
5
Posts
137
Reactions
112
Resources
0
What is your current system, for me to suggest something to you, I need to know what you are doing right now
 

TheEpicPotato

Java Developer
Feedback score
0
Posts
131
Reactions
84
Resources
0
I assign a jar I'd to each of my jars, then when the jar is ran it creates a text file on my server that has the jar I'd and IP of the server, it creates a random string that is a symbolic link for that text file, the link is added to the clients config, I then add it to another text file along with the jar id. So that jar I'd has to use that link, and that link ensures that the jar isn't ever ran on a different IP, linking that specific jar to a specific IP. The manual part is me adding their generated license to my text file. Although I could make a script to automate it a little better, I made this in a couple hours for my latest plugin.
 

user7089

I deleted discord. Clones are scams.
Premium
Feedback score
5
Posts
137
Reactions
112
Resources
0
Uh
*takes the jar*
*throws it in a live java bytecode editor*
*removes validation part*
*shows finger*
 

TheEpicPotato

Java Developer
Feedback score
0
Posts
131
Reactions
84
Resources
0
Uh
*takes the jar*
*throws it in a live java bytecode editor*
*removes validation part*
*shows finger*
Can't do much to prevent decompilation except obfuscation, in that sense their isn't much anyone can do.
 

user7089

I deleted discord. Clones are scams.
Premium
Feedback score
5
Posts
137
Reactions
112
Resources
0
Can't do much to prevent decompilation except obfuscation, in that sense their isn't much anyone can do.
Bytecode encryption is fun.
Yes you can encrypt them, but you need a custom URLClassLoader for it
 

TheEpicPotato

Java Developer
Feedback score
0
Posts
131
Reactions
84
Resources
0
Uh
*takes the jar*
*throws it in a live java bytecode editor*
*removes validation part*
*shows finger*
Anything can be pirated, stopping the average pirate is the goal. Something to keep people from sharing it with others or their buddies is as much as most could ask for.[DOUBLEPOST=1464113948][/DOUBLEPOST]
Bytecode encryption is fun.
Yes you can encrypt them, but you need a custom URLClassLoader for it
Then they will decompile the classloader[DOUBLEPOST=1464114094][/DOUBLEPOST]You could compile the source code to machine code, and not worry about encryption with the same results.
 

user7089

I deleted discord. Clones are scams.
Premium
Feedback score
5
Posts
137
Reactions
112
Resources
0
Anything can be pirated, stopping the average pirate is the goal. Something to keep people from sharing it with others or their buddies is as much as most could ask for.[DOUBLEPOST=1464113948][/DOUBLEPOST]
Then they will decompile the classloader[DOUBLEPOST=1464114094][/DOUBLEPOST]You could compile the source code to machine code, and not worry about encryption with the same results.
Not if they can't get the secret key from the server :p
 

TheEpicPotato

Java Developer
Feedback score
0
Posts
131
Reactions
84
Resources
0
Not if they can't get the secret key from the server :p
They can remove that part of the class loader.[DOUBLEPOST=1464114286][/DOUBLEPOST]Adding a server license check like mine, then compiling to machine code instead of java bytecode I believe would be the best solution.
 
Status
This thread has been locked.
Top