EncryptV1 - Encrypt Strings, Code, +MORE!

EncryptV1 - Encrypt Strings, Code, +MORE!

EncryptV1 is OPEN SOURCE and publicly available for everyone to use. This script
does require a little bit of scripting knowledge.

Use:

local encrypt = require(script.Parent.Modules.Packages:WaitForChild("encrypt"))
local decrypt = require(script.Parent.Modules.Packages:WaitForChild("decrypt"))

local data = "This is a encrypted string 1234"
local encrypted = encrypt(data)

print(encrypted)

local data2 = decrypt(encrypted)
print(data2)

Output:

Of4lgnWlgnW4ifONGxV2gpdKj3WuspVlIQgzLYiuZ3WtDA5oJnl4
This is a encrypted string 1234

EncryptV1 helps you encrypt your code from exploiters dumping/decompiling your game, getting
your strings, and for much more other uses…

https://www.roblox.com/library/8956218716/EncryptV1-by-jakep

13 Likes

You could probably make encrypt() and decrypt() have the CryptoString argument instead of it being a variable inside the modulescripts.

1 Like

they do have the cryptostring in them, I definitely do recommend changing the strings to 100% secure your game.

I mean changing the functions to something like this

local code = "WhTRfpiVXLZcDrdwYBOeJGjaIgsFtz4kAHKQlMoNbCEnuSqyxvmPU1234567890"

local encypted = encrypt("hi", code)

local hi = decrypt(encrypted, code)

ah, i was thinking of doing that, i will add that in the next update.

Interesting. I will look into this

I don’t know how you would use this, but I like the idea. Keep up the good work!

I’m not sure what happened, but it didn’t work. I tried to encrypt and decrypt two identical strings, but when I decrypted the strings, they were just backticks.

Code:

local Encrypt = require(game.ReplicatedStorage.Encrypt_V1__by_bakep.Wrapper) --// I wrote a simple wrapper and I changed the name to not include any spaces

local aa = Encrypt.Encrypt("aa")
local aa2 = Encrypt.Encrypt("aa")

print("\n", aa, "\n", aa2, "\n")

print("\n", Encrypt.Decrypt(aa), "\n", Encrypt.Decrypt(aa2), "\n") --// just prints backticks

Wrapper:

local Wrapper = {  }

Wrapper.Encrypt = require(script.Parent.Modules.Packages.encrypt)
Wrapper.Decrypt = require(script.Parent.Modules.Packages.decrypt)

return Wrapper

Also, this is not very secure, someone just use this module to decrypt any data. To make it secure, you’re going to need to add a bit of randomness, but only true randomness, using math.random or Random.new() will not work, since you can just reverse the algorithms used for them, then decrypt the remaining string with this module.

Indeed, it may be crackable like that, but an exploiter will not know what to do with those strings. In V2 I will make it less complicating, but can you please send me the full script. WARNING: Make sure that 1234567890+/ is at the back of every code, delete all the numbers, the / and +, and put them behind.

I would also recommend using Shuffle Letters - Online Random Tools, to shuffle your cryptostrings and the letters should always be inputting in the shuffle-letters ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

The CryptoStrings are supposed to be changed for 100% security, along with that you cant run encrypt/decrypt in a executor. In V2 I will update the settings so you can do…, much easier for encrypting/decrypting.

local code = "WhTRfpiVXLZcDrdwYBOeJGjaIgsFtz4kAHKQlMoNbCEnuSqyxvmPU1234567890"

local encypted = encrypt("hi", code)

local hi = decrypt(encrypted, code)

No it doesn’t :skull: Do not false advertise…

4 Likes

It does, you cant decompile a server script or any other script if you obfuscate the code so your cryptostring is hidden, so if you were too do this…

local code = "WhTRfpiVXLZcDrdwYBOeJGjaIgsFtz4kAHKQlMoNbCEnuSqyxvmPU1234567890+/" -- CHANGE YOUR CRYPTOSTRING!

local encypted = encrypt("hi", code)

local hi = decrypt(encrypted, code)

in that method which is what i will do in v1.19 , it is 100% secure because it is in serverscriptservice and it is a script, (which cannot be decompiled). Please look closer before commenting.

So that means this wouldn’t help at all? It’s a server script, so it’s not like the exploiter would see the string in the first place.

No, you can require the cryptostrings from the modulescript, modulescripts are not decodedable if using an executor so you can encode/decode things from localscripts and other sorts. The exploiter can dump strings, api’s, url’s, if you have any.

Locally-required ModuleScripts can be decompiled

Using the correct obfuscator to obfuscate them, they wont be.

The only thing that you need to not leak is your cryptostring.

The client will still need to know the CryptoString if it wants to decode any data sent from the server, if you store it in a variable an exploiter can just run getupvalues() or getconstants() in their executor. They could even probably run a script that loops through the obfuscated localscripts environment and look for the decode function, hook it to get the CryptoString, and then re-use the decode function, passing in the CryptoString.

1 Like

A hacker that tries to dump and uses f9 is not going to know what to do with those strings, major games use hidden strings to hide things.

You can store your cryptostring without it being deobfuscated. In the next version that will release all of this will be addressed and more easier to understand, with steps to hide cryptostrings.