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
|
  |
| 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 |
|
|
|
| 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
|
  |
| 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
|
  |
| 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 |
|
|
|
| 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 |
|
|
|
| 30 Dec 2013 06:58 AM |
| Whoops I meant by if player Id is 654321. |
|
|
| Report Abuse |
|
|
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 |
|
|
|
| 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
|
  |
| 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 |
|
|
|
| 30 Dec 2013 12:05 PM |
| Check the game ID is your games ID XD |
|
|
| Report Abuse |
|
|
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 |
|
|