Protection of models
#1

Will the protection of models from theft? I understand that they are downloaded to the client's computer and he can do with them whatever he wants.
Can I somehow protect from importing into 3D Max, Blender, Zmodeler?
In general, how much is all this possible?
Reply
#2

For now they'll remain in the game's native format, unless I find a good reason to switch from it.

It's nearly impossible to protect content from theft. They can fish the model from the video card memory if they were desperate. Servers using stolen models will be treated like servers using stolen script: they run the risk of being removed from the server lists.
Reply
#3

How can I prove that I was the first to create a model and it was first implemented on my server? I do not mind if someone will use my models on their server, or with their own ideas, but I'm against 100% copying my server.
Reply
#4

Quote:
Originally Posted by Kalcor
View Post
For now they'll remain in the game's native format, unless I find a good reason to switch from it.

It's nearly impossible to protect content from theft. They can fish the model from the video card memory if they were desperate. Servers using stolen models will be treated like servers using stolen script: they run the risk of being removed from the server lists.
I think it would be okay to add some encryption, because they never did that with the maps, and it probably can be done as well.
Reply
#5

Quote:
Originally Posted by BloodMaster
View Post
I think it would be okay to add some encryption, because they never did that with the maps, and it probably can be done as well.
You cant add encryption to everything, you still need to show that model in someway...
Take songs for example...If you were to encrypt everything, they could still just record speakers output...

Same way with models...Like Kalcor said, even if there was encryption on models, its possible to take them out from video memory.
Reply
#6

Quote:
Originally Posted by DRIFT_HUNTER
View Post
Same way with models...Like Kalcor said, even if there was encryption on models, its possible to take them out from video memory.
I understand that! I just wanted to say that it was already possible to do the same thing with all server-maps for all these years as well, it's just that nobody ever really did it. Some people don't want to go out of their way hacking graphics cards memory just to get some objects, but if objects were just sitting in their folder they might just use them.
Reply
#7

Quote:
Originally Posted by DRIFT_HUNTER
View Post
You cant add encryption to everything, you still need to show that model in someway...
Take songs for example...If you were to encrypt everything, they could still just record speakers output...

Same way with models...Like Kalcor said, even if there was encryption on models, its possible to take them out from video memory.
Is it hard to take them out? If it's yes,we should encrypt them,atleast we have protection from some users
Reply
#8

Quote:
Originally Posted by Dice_
View Post
Is it hard to take them out? If it's yes,we should encrypt them,atleast we have protection from some users
Define "hard"... I would say its not easy, but its also not that hard if you know what you are doing or research a little bit. Take it as memory hacking, for some people its rocket science, for others its piece of cake if there is tutorial like the one kurta posted (i mean about memory hacking - as example).
Reply
#9

Quote:
Originally Posted by DRIFT_HUNTER
View Post
Take songs for example...If you were to encrypt everything, they could still just record speakers output...
Well, they must be decrypted and stored somewhere ... (e.g. RAM)

And I guess we can catch the data that being transferred to the speakers while it streams the audio data.
Quote:
Originally Posted by BloodMaster
View Post
I understand that! I just wanted to say that it was already possible to do the same thing with all server-maps for all these years as well, it's just that nobody ever really did it. Some people don't want to go out of their way hacking graphics cards memory just to get some objects, but if objects were just sitting in their folder they might just use them.
It isn't that hard, little Goglogolo and you can rip off models from any game
OpenGL: https://github.com/fruminator/ogle
DirectX: http://www.deep-shadows.com/hax/3DRipperDX.htm

Quote:
Originally Posted by Kalcor
View Post
they run the risk of being removed from the server lists.
Which like, never happens and it isn't difficult to change host and put the server on again.


Plus the numbers of rip offs that can be from different people.
Reply
#10

Because better, instead of downloading them to the user's computer, the files are not downloaded, in a folder inside the server files (gamemode). Could not this be done?
Reply
#11

Quote:
Originally Posted by ZaikerH
Посмотреть сообщение
Because better, instead of downloading them to the user's computer, the files are not downloaded, in a folder inside the server files (gamemode). Could not this be done?
What, but how will you display them to the player without him downloading the files?
Reply
#12

Quote:
Originally Posted by Kaperstone
Посмотреть сообщение
What, but how will you display them to the player without him downloading the files?
It's what I ask.
There is no way to do that without downloading the models on the computer, that is, download the files on the Gamemode, but in another way?

That is, that the files in the 'cache' folder are stored in the Gamemode, and that the user only has to load these, without downloading them.

if I make myself understood?
Reply
#13

Quote:
Originally Posted by ZaikerH
Посмотреть сообщение
It's what I ask.
There is no way to do that without downloading the models on the computer, that is, download the files on the Gamemode, but in another way?

That is, that the files in the 'cache' folder are stored in the Gamemode, and that the user only has to load these, without downloading them.

if I make myself understood?
No, even if the objects were downloaded temporarily each time the player starts his game, people could still just capture the network traffic with the object or take it straight from the games memory. If objects were encrypted, players game wouldn't be able to load it without decrypting it, so the player would also need to be given an decryption key which makes the whole process redundant.
Reply
#14

Quote:
Originally Posted by dotSILENT
Посмотреть сообщение
No, even if the objects were downloaded temporarily each time the player starts his game, people could still just capture the network traffic with the object or take it straight from the games memory. If objects were encrypted, players game wouldn't be able to load it without decrypting it, so the player would also need to be given an decryption key which makes the whole process redundant.
Mm, okey..
But ... If you added the encryption key, you would only need it when logging in, or registering with the Server, right?
Reply
#15

All mods is public.
All your mods is public.

Where you see any problem ?

How to stole skins/object:
- Find unknown texture file name for unknown name dff file (good luck)
Reply
#16

Quote:
Originally Posted by AbyssMorgan
Посмотреть сообщение
All mods is public.
All your mods is public.

Where you see any problem ?

How to stole skins/object:
- Find unknown texture file name for unknown name dff file (good luck)
Let's say you find the dff and txd that go together, you change the 'encrypted' name that adds sa-mp, and that's it, stolen model.
Reply
#17

Copied from another topic I just posted this in:

Protecting models cannot work. The only way to deal with stolen work is a robust reporting and blocking system - keep your source models and images to prove that you are the original author in cases of disputes (and be sure that it really IS your model, not just a similar one - how different are two whitehouse models (say) really going to look?) Why can't it work? The most popular two suggested "solutions" are:

1) Not downloading the data to the client. Cannot possibly ever work! This means you want the client's game to render and display something they don't have. Think about that for a minute because I'm not going to go any deeper in to this than that.

2) Encrypting the data. Also cannot work. In short, because at some point the client must decrypt the model to display it. This means the client must have the code and keys for the decryption. This means the encryption is totally pointless - if I encrypt something, give it to you, then also give you the way to decrypt it, in what way does it remain safe? You can encrypt the model while it is transferring - this is what already happens if you deliver them over HTTPS, but once they arrive at the client they are stored unencrypted. You can store them encrypted on the disk, and only decrypt them when the game starts, but I already explained that if someone has the game, they have the decryption code right there for use. In fact they don't even need to re-use the decryption code, they can pull the data straight out of memory.

I know the next argument as well - reusing code, or pulling stuff out of memory is hard and not everyone can do it. No they can't. But how long do you think it will take before a one-click tool to do it all for you is released?

3) Use a custom model format. Yes, it is different to the one used by San Andreas, but it would be the same format used by every other SA:MP server, so stolen models in the new format would work just fine.

4) Some advanced method like protected memory or a virtual machine to hide the information from other tools. Would also hide the data from the game, and the moment the models need to be rendered, they need to be seen. Plus, that (if even possible) would only work on the most modern of processors (like Ryzen level modern).

Here is the fundamental problem with what you are asking:

Please give us a way for clients to show our custom models, without clients being able to read our custom models. Showing them requires reading them first.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)