Jump to content

Compiling .txd, .dff and .col


Recommended Posts

  • Moderators

You can make it as hard as you want. It will be pity hard to read out variables and knowing the use of them, if you based the key on a combination of two/more variables you probably will give him a headache.

Link to comment
You can make your files download via the script itself, e.g. triggerLatentClientEvent. This way, you can use teaEncode serverside to encrypt the file, then send it to the client, save it as it is, and use teaDecode when you need to use it in your script. But I think you'll have to create a temporary file which is decoded, so catching and stealing it would still be kinda possible.

Doesn't matter. Client always has the key.

You can send the key to the client from the server instead of keeping it in the client.

Link to comment
Just saying, can't you change the extension to something, example infernus.mta instead of dff. I don't think everyone is going to look that far find your models.

I know this isn't something like your all saying, it's Just a suggestion.

That's easy to find anyway. Better try to fake somthing like .luac file so stealers think it's a compiled script and not a file you can use as models

Link to comment
I think an old buddy of mine told me a while back that FFS Gaming have something similar, using fileRead, fileWrite etc to mess up the file type slightly after it's loaded or something?

As far as I know, this would work, and I see no reason why not.

Maybe you can try making custom functions that slightly modify the file, so it is corrupted when the user loads it. When you want to read the file, load a custom function. You can try the code below, but I'm at school right now so I cannot test it.

function compileThisFile ( file ) 
    local f = fileRead ( file, fileGetSize ( file ) )  
    fileWrite ( file, "__"..tostring(f).."__" ) 
end 
  
function decompileScript ( file ) 
    local text = fileRead ( file, fileGetSize ( file ) ) 
    return text:sub ( 3, text:len ( ) - 3 ) 
end  

is better if use them base64Encode and base64Decode Or teaEncode and teaDecode.

Link to comment
  • Moderators

What xXMADEXx did is maybe a better solution duel the performance.

Decoding large mods cost lots of time, you may get frame freezes or crashes.

But if it is saver, that will always be the question.

As continuous on this idea, when you use underscores it will be easy to fix.

But when you copy a part of the existing code and copy that, you will never know that it is differed.

By deleting an amount of extra characters. (like 10 in the beginning and 10 at the end)

You will have your perfect decoded mod.

Example: (original mod) 
éL>éÇOéòÅé-¬éÈ 
  
The corrupt one: (copied 4 in the beginning and 4 at the end) 
éL>ééL>éÇOéòÅé-¬éÈ-¬éÈ 

Link to comment
You can make your files download via the script itself, e.g. triggerLatentClientEvent. This way, you can use teaEncode serverside to encrypt the file, then send it to the client, save it as it is, and use teaDecode when you need to use it in your script. But I think you'll have to create a temporary file which is decoded, so catching and stealing it would still be kinda possible.

Doesn't matter. Client always has the key.

You can send the key to the client from the server instead of keeping it in the client.

Err, unfortunately any somewhat new to the business knows how packet loggers and hex editor works. Besides, it is always stored in the memory, which can be logged and read. This is how it works, this is how people get your compiled and "secured" scripts, because they do what the application does. It just makes the job 5 minutes more difficult, nothing else.

You cannot avoid this. You can just make it a step harder, nothing else. This is why I just tend to keep the assets there without any protection, because I know if someone wanted it it is there on a plate already. Which is also why I spend less time making those assets. Keeping it simple, yo.

Link to comment
  • Moderators

I doubt that there are much people in mta, do know how to do that.

If you are a mod maker, you will be quiet angry when you found that a kid just copied one of your mods out of their client folder and is using that without any permission. So giving a possible solution to keep it away from kids doesn't sounds like a bad idea, does it?

Not that I will protect any mods, I am not a mod maker. :)

Link to comment
I doubt that there are much people in mta, do know how to do that.

If you are a mod maker, you will be quiet angry when you found that a kid just copied one of your mods out of their client folder and is using that without any permission. So giving a possible solution to keep it away from kids doesn't sounds like a bad idea, does it?

Not that I will protect any mods, I am not a mod maker. :)

The point is you cannot add an invulnerable vault around your stuff. You can only add a layer of tinted glass on it. And there are people who know how to melt it.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...