Talk:Script Obfuscation
Not actual obfuscation
I just thought that I would let you know that from my perspective, obfuscation is not making machine code, but rather making code to be interpreted, but just harder to understand. Like jQuery, but in the minified form. I may be severely off, btw.
- Obfuscation simply describes the act of making code hard to read. Normally, this consists of changing variable names (like jquery.min.js). However, this isn't exclusive.
- Okay.
There's a reason I put "" as the second argument sent to loadstring. It's because it needs to be there. It's the chunk's name.
Not sure I know exactly what you mean. Why does my method of skipping the loadstring step altogether not work?
- Loadstring has a second argument, which chooses the chunk's name. If you leave it as default, it will be the source of the code, which we certainly don't want. 7 February 2012
....
Yea, but by using string.format, you're changing the null characters to "\000" which, for one, isn't consistent with the example on the page and for two ends up way longer than my code. Did you even look at the other changes I made or just pressed "undo"? You could have at least had the decency to look at what you were undoing first. Legend26 (talk | contribs) 01:22, 16 March 2012 (EDT)
- Well, I did notice the other edits and I was going to do it again. As for the example, I didn't update it because bytecode loading is going to be removed soon anyways and the wiki doesn't support all the characters (if I remember right). As for it being longer, that's not the point... Escaping all characters including those that have no need to be escaped is stupid. If you want to make it shorter, just replace all occurences of "\000" by "\0" using gsub. The reason we are escaping characters is so characters that can't be put directly in strings will not make it error. Lua has a function just for doing that, so let's use it. As for making it shorter, we can then do it with gsub and other string manipulation functions.
- Just because the ability to do this may be removed, it doesn't mean that the article should be wrong. The "output" of the given code should still be fixed. Also, by "soon" you mean in a year perhaps. They've talked about getting rid of it for... how long now... Legend26 (talk | contribs) 01:51, 16 March 2012 (EDT)
- I just tried updating it with the proper examples. The wiki can't handle the special characters nor can a lot of other things. That's partially why I changed it. I really do think my version is preferable all things considered. Legend26 (talk | contribs) 20:27, 16 March 2012 (EDT)
- Scripts can handle it, and that's obvious, as that's precisely what that function was made for. If you want to make it shorter, replace all occurences of "\000" by "\0". That'll make it considerably shorter than the other one.
- While how long it is has a big impact on the longer scripts, still, the page is wrong unless you use the other version or change the example output. Changing the output/its description will only server to confuse younger users since they won't be able to copy/paste it into roblox like they would think. I'd prefer someone else's thoughts on this. Legend26 (talk | contribs) 20:34, 16 March 2012 (EDT)
- But we don't need to put the output there! We can just remove it! Besides, we're not going to teach them that way of doing it just because it works on the wiki if we can teach them a better way, are we? We're not going to not teach them to do it a better way just because the wiki can't show the output...
- While how long it is has a big impact on the longer scripts, still, the page is wrong unless you use the other version or change the example output. Changing the output/its description will only server to confuse younger users since they won't be able to copy/paste it into roblox like they would think. I'd prefer someone else's thoughts on this. Legend26 (talk | contribs) 20:34, 16 March 2012 (EDT)
- Scripts can handle it, and that's obvious, as that's precisely what that function was made for. If you want to make it shorter, replace all occurences of "\000" by "\0". That'll make it considerably shorter than the other one.
New Method
We need a new method of obfuscating code, but I'm really not sure of what we should talk about it here. Should we recommend them to remove all tabs, comments, and to change all variable names to random names, or something similar? Should we recommend automatic obfuscation? Manual obfuscation? Or just talk about the subject of obfuscation in general? Or should we just not describe obfuscation and instead suggest other methods of protecting our code? --JulienDethurens 23:24, 22 March 2012 (EDT)
Complete Page Annihilation
I suggest completely removing this page because the point of an open-sourced game like ROBLOX is to allow the taking of things...which are open-sourced. Besides, there is really no supported way to do this, and it will soon become obsolete in pointless in the coming version of Lua. Any branches on this thought? †MrNicNac - Wiki Editor †
- Hm, I agree. There is indeed no supported way to do it, and technically, you'd be supposed to leave that stuff to ROBLOX. You're supposed to let ROBLOX deal with protecting your code from exploiters, as everything that has to do with exploiting should be dealt with by ROBLOX, not you. I thought it would still be good to explain what obfuscation is, but there isn't really a point in it. I agree with deleting this page. --JulienDethurens 17:30, 23 March 2012 (EDT)