generic image
Processing...
  • Games
  • Catalog
  • Develop
  • Robux
  • Search in Players
  • Search in Games
  • Search in Catalog
  • Search in Groups
  • Search in Library
  • Log In
  • Sign Up
  • Games
  • Catalog
  • Develop
  • Robux
   
ROBLOX Forum » Game Creation and Development » Scripting Helpers
Home Search
 

Re: Code Obfuscation

Previous Thread :: Next Thread 
SunTzu16 is not online. SunTzu16
Joined: 10 Jul 2012
Total Posts: 999
29 Dec 2013 01:47 PM
Now that bytecode has been removed, does anyone know of any methods I could use to protect my code?

Even if there are no exploits that can access it now, who's to say that there never will be in the future?

A pessimist complains about the wind; an optimist expects it to change; a realist adjusts the sails.
Report Abuse
cntkillme is not online. cntkillme
Joined: 07 Apr 2008
Total Posts: 44956
29 Dec 2013 01:48 PM
I manually do it, though it's tiring and somewhat boring.
pastebin/0x3qvadD

But really it's always best to crazy the crap out of it
Report Abuse
jtfriend137 is not online. jtfriend137
Joined: 19 Jul 2010
Total Posts: 1960
29 Dec 2013 01:55 PM
There are ways that people can steal your code if you care about that happening. All you can do is use random variable names that don't make sense, and as cnt said, crazy the crap out of it.
Report Abuse
SunTzu16 is not online. SunTzu16
Joined: 10 Jul 2012
Total Posts: 999
30 Dec 2013 06:49 AM
I know about just going crazy on it, removing white-space, and making unreadable.

But, I'd like to make it unusable.

If I put a player ID check in the middle of the code, anyone can just use Ctrl+F to find it, then change it. I've seen code that cannot be read, from the outside, it looks like absolute gibberish. Here's an example:

" 194 50) 113 - 196 97 97 97 52 58 204 205) 206 = { { 207 208 209 / 210) * 210 211 110 212, 213, 18)}, { 207 "

Naturally, the whole thing is much larger, but it all looks like that. I'm working on a project for someone, and he'd like for the code to be secure. So, the easy, change all the variable names, etc... type of stuff won't cut it. I'm looking for a way to do something like the example above.

A pessimist complains about the wind; an optimist expects it to change; a realist adjusts the sails.
Report Abuse
SunTzu16 is not online. SunTzu16
Joined: 10 Jul 2012
Total Posts: 999
30 Dec 2013 06:54 AM
Something like what you did, Cnt, might work for the player ID check...

I could put in a ton of random strings and such, a billion and one functions, (even my own functions), and grab specific numbers from the strings, tostring() them, and concatenate them.

Thanks for the help. The only way to make that work, though, is to make the rest of the code rely so heavily on that crazy stuff, that nobody in their right mind would even try to dissect it.

It'd be too easy to just remove it, so I'd need to disguise it.

A pessimist complains about the wind; an optimist expects it to change; a realist adjusts the sails.
Report Abuse
Vaporation is not online. Vaporation
Joined: 08 Jun 2011
Total Posts: 1397
30 Dec 2013 06:57 AM
I use string manipulation method to obfuscate my code. Example player ID is 123456:

amdad = 56 asjkf = 43 sdflk = 210
Id = string.reverse(amdad) .. asjkf .. string.sub(sdflk, 1, 2)

print("Id is: " .. Id)
Report Abuse
Vaporation is not online. Vaporation
Joined: 08 Jun 2011
Total Posts: 1397
30 Dec 2013 06:58 AM
Whoops I meant by if player Id is 654321.
Report Abuse
SunTzu16 is not online. SunTzu16
Joined: 10 Jul 2012
Total Posts: 999
30 Dec 2013 07:01 AM
Yeah, I'd need to do that, but like how Cnt was doing his stuff...

So complex nobody would bother to change it. Too much work. But I'd need to make it impossible for someone to remove, too.

I could probably do that by setting the initial values, which would have crazy names, in a similar method of obfuscation, and each time I set one, I check the player ID in a different way. That'd prevent people from removing them, as the entire script would break if just one thing was out of place.

A pessimist complains about the wind; an optimist expects it to change; a realist adjusts the sails.
Report Abuse
Vaporation is not online. Vaporation
Joined: 08 Jun 2011
Total Posts: 1397
30 Dec 2013 07:11 AM
There is one easy way of obfuscating though(if the stealer is not smart enough), join the whole script into a single line with programs like Notepad++ and then reverse the whole script. Then:

loadstring([[ reversed string here ]])()

Also, check out stravant's one-click obfuscate plugin for Roblox Studio, it replaces variables with random characters and join some lines together. I think it's called LuaMinimizer or something.
Report Abuse
SunTzu16 is not online. SunTzu16
Joined: 10 Jul 2012
Total Posts: 999
30 Dec 2013 12:03 PM
Now that's a good idea...

Thanks for the help.

A pessimist complains about the wind; an optimist expects it to change; a realist adjusts the sails.
Report Abuse
DominusPrimus is not online. DominusPrimus
Joined: 24 Oct 2013
Total Posts: 878
30 Dec 2013 12:05 PM
Check the game ID is your games ID XD
Report Abuse
SunTzu16 is not online. SunTzu16
Joined: 10 Jul 2012
Total Posts: 999
30 Dec 2013 12:30 PM
...

Then I change places.

I'll just use player ID.

Also, I need to prevent other people from changing that game ID or player ID.

Hence the obfuscation.

A pessimist complains about the wind; an optimist expects it to change; a realist adjusts the sails.
Report Abuse
Previous Thread :: Next Thread 
Page 1 of 1
 
 
ROBLOX Forum » Game Creation and Development » Scripting Helpers
   
 
   
  • About Us
  • Jobs
  • Blog
  • Parents
  • Help
  • Terms
  • Privacy

©2017 Roblox Corporation. Roblox, the Roblox logo, Robux, Bloxy, and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.



Progress
Starting Roblox...
Connecting to Players...
R R

Roblox is now loading. Get ready to play!

R R

You're moments away from getting into the game!

Click here for help

Check Remember my choice and click Launch Application in the dialog box above to join games faster in the future!

Gameplay sponsored by:
Loading 0% - Starting game...
Get more with Builders Club! Join Builders Club
Choose Your Avatar
I have an account
generic image