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 » Scripters
Home Search
 

Re: Script obfuscation

Previous Thread :: Next Thread 
BothAngles is not online. BothAngles
Joined: 01 Dec 2011
Total Posts: 9604
30 Nov 2014 03:41 PM
Right now I'm obfuscating my scripts because roblox doesn't give a dam if someone steals your place
I could accidently uncopylock it one day or someone could make a place-stealing exploit

Here's an example
local q=string.char
local r=string.reverse
local a=script[q(80,97,114,101,220/2,116)]
a[r(q(101,109,97,78))]=q(91,67,113-2,110,116,101,110,116,32,68,99+2,108,101,116,101,100,71+22)

function aa(ba, bb)
end

Is there anything else that might help?
How long do you think it'll take a good scripter to deob a script like this with a couple hundred lines?
Report Abuse
eLunate is not online. eLunate
Joined: 29 Jul 2014
Total Posts: 13268
30 Nov 2014 03:46 PM
Make sure you do confusing stuff, like changing lua's keywords, hiding declerations, using loadstring oddly and changing the names of builtin variables (Hell, even get rid of anything using the colon and call it straight from the root member)
Report Abuse
ForeverDev is not online. ForeverDev
Joined: 04 Oct 2008
Total Posts: 13300
30 Nov 2014 03:51 PM
a while ago i made an obfuscated function that adds two numbers... here it is ;)

http://pastebin.com/egzKL1yD
Report Abuse
Fedorakid is not online. Fedorakid
Joined: 17 Jul 2010
Total Posts: 7079
30 Nov 2014 03:54 PM
I remember that forever, you had this in a most confusing script challenge xd
Report Abuse
eLunate is not online. eLunate
Joined: 29 Jul 2014
Total Posts: 13268
30 Nov 2014 03:58 PM
Oh and remember to exploit locale for variables

i,ī,ï,î=math.random,math.sin,Instance.new,CFrame.new

And remember to do a lot of garbage variable stuff

i,ì,î,í,i,ī,î = game,workspace,CFrame.new,Instance,CFrame.new,i,game
Report Abuse
BothAngles is not online. BothAngles
Joined: 01 Dec 2011
Total Posts: 9604
30 Nov 2014 04:04 PM
thanks eLunate and ForeverDev that's some nice obfuscation lol
Report Abuse
eXoguti093 is not online. eXoguti093
Joined: 17 Oct 2008
Total Posts: 1786
30 Nov 2014 05:20 PM
@luna lets say you define those variable in your script.. Wouldn't the values still be visible in the actual script if it were stolen? Or maybe you could make a global table with them in a well hidden script in your place?
Report Abuse
BothAngles is not online. BothAngles
Joined: 01 Dec 2011
Total Posts: 9604
30 Nov 2014 05:28 PM
That's why you obfuscate the values

You can tell what a is
local a=script.Parent

Now you have to spend time figuring it out
local a=script[q(80,97,114,101,220/2,116)]
Report Abuse
eLunate is not online. eLunate
Joined: 29 Jul 2014
Total Posts: 13268
30 Nov 2014 05:29 PM
They're still visible, but it's harder for the stealer to understand. This level of obfusication makes it super easy to hide backdoors and stuff inside your own game or free models.
Report Abuse
BothAngles is not online. BothAngles
Joined: 01 Dec 2011
Total Posts: 9604
30 Nov 2014 05:32 PM
and how would I do what you said about removing the colon

Like this
local a = Instance.new

But with FindFirstChild?
Report Abuse
BothAngles is not online. BothAngles
Joined: 01 Dec 2011
Total Posts: 9604
30 Nov 2014 11:01 PM
^ is that possible
Report Abuse
darknightofVorhan is not online. darknightofVorhan
Joined: 23 Jun 2008
Total Posts: 667
30 Nov 2014 11:06 PM
If they steal your place, then what is the point of obfuscation if they already have a working place? Keeping obfuscated code up to date can be a difficult task. Instead I would recommend creating a state machine interpreter, and a compiler that turns lua code into a middle language for the state machine interpreter. This way it is very hard to edit once it is compiled and compiling can be done fast.
Report Abuse
cntkillme is not online. cntkillme
Joined: 07 Apr 2008
Total Posts: 44956
30 Nov 2014 11:50 PM
Use CntLuaQ for CHARBS!!11 11

How to print Hello, world! 666
21 1 "Hello, world!"
21 2 666
1 1
1 2
2 2
103 print
3 1
4
Report Abuse
cntkillme is not online. cntkillme
Joined: 07 Apr 2008
Total Posts: 44956
30 Nov 2014 11:50 PM
yay so this is hard to read even though you can get the gist of it.
But with crazy stuff, not so easy

21 1 "Hello, world!" 21 2 666 1 1 1 2 2 2 103 print 3 1 4
Report Abuse
cpmoderator12345 is not online. cpmoderator12345
Joined: 26 Jan 2013
Total Posts: 15651
30 Nov 2014 11:52 PM
oh f*k you confused me.....
i cant hide anything with my scripts... how do i make my scripts obfuscated?
Report Abuse
cntkillme is not online. cntkillme
Joined: 07 Apr 2008
Total Posts: 44956
01 Dec 2014 12:01 AM
Here is how an infinite loop printing Hi each time may look (with a wait(0.1)):
Untested but yolo

21 1 Hi 21 2 0.1 41 4 1 2 2 1 103 wait 3 3 3 3 3 3 1 1 2 1 103 print 3 3 41 4 4
Report Abuse
BothAngles is not online. BothAngles
Joined: 01 Dec 2011
Total Posts: 9604
01 Dec 2014 12:08 AM
I don't think that'll work on roblox ?_?
Report Abuse
cntkillme is not online. cntkillme
Joined: 07 Apr 2008
Total Posts: 44956
01 Dec 2014 12:12 AM
Nah but I made an interpreter thingy
Report Abuse
eLunate is not online. eLunate
Joined: 29 Jul 2014
Total Posts: 13268
01 Dec 2014 01:32 AM
FindFirstChild would just be like,

₣=Instance.FindFirstChild

And then you can do stuff like

î,ì,í,ï,ī,i=workspace,Instance.new,Instance.FindFirstChild,"Part","Parent",Instance.Destroy -- Or even better obfusicate those too
₣=í ï
₣[ī]=î
i í(î,("etalpesaB"):reverse())
Report Abuse
BothAngles is not online. BothAngles
Joined: 01 Dec 2011
Total Posts: 9604
01 Dec 2014 01:46 AM
Those chars don't work
The script doesn't work either ?_?
Report Abuse
BothAngles is not online. BothAngles
Joined: 01 Dec 2011
Total Posts: 9604
01 Dec 2014 01:47 AM
FindFirstChild uses :
Report Abuse
eLunate is not online. eLunate
Joined: 29 Jul 2014
Total Posts: 13268
01 Dec 2014 02:18 AM
It won't let you use those chars? :(
Try this for FindFirstChild then, if it won't let you take it from the root

F=Instance.new("Part").FindFirstChild

Then you use

F(ThingToSearchIn, "NameToSearchFor", doRecursive=true)
Report Abuse
BothAngles is not online. BothAngles
Joined: 01 Dec 2011
Total Posts: 9604
01 Dec 2014 02:20 AM
Thanks! :D
Report Abuse
zaniac10 is online. zaniac10
Joined: 18 Aug 2009
Total Posts: 10000
01 Dec 2014 06:11 AM
why do you want to obfuscate in the first place


don't you want a script to be clean and short and less confusing?
Report Abuse
JarodOfOrbiter is not online. JarodOfOrbiter
Joined: 17 Feb 2011
Total Posts: 20029
01 Dec 2014 06:16 AM
The whole point of this is to make it unreadable, so that people don't understand it.
Report Abuse
Previous Thread :: Next Thread 
Page 1 of 1
 
 
ROBLOX Forum » Game Creation and Development » Scripters
   
 
   
  • 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