Protecting Source?

General discussion about LÖVE, Lua, game development, puns, and unicorns.
User avatar
Sparx
Party member
Posts: 125
Joined: Thu Apr 02, 2009 9:54 am
Location: Aachen, Germany

Re: Protecting Source?

Post by Sparx »

bartbes wrote:True, I proved that with the highscores script. As one of the other friendly species would say: "Resistance is futile"
Sry It was me I guess if it concernes 1000000 =)
Just wanted to try...

By the way: do you have some ip-time-block or something? So that noone can just add himself there 100 times per seecond?

@ packet sniffing: I think I can encrypt the packages so that it would be extreme hard to get whats going on if not provided with code..
User avatar
bartbes
Sex machine
Posts: 4946
Joined: Fri Aug 29, 2008 10:35 am
Location: The Netherlands
Contact:

Re: Protecting Source?

Post by bartbes »

No, I have beaten it too (first!), I broke the highscore with exactly 1 point.
About that time block, only if you implement it yourself..
Encryption is beatable, because there has to be a decrypt function, you can just require the bytecode and use that function.
User avatar
Robin
The Omniscient
Posts: 6506
Joined: Fri Feb 20, 2009 4:29 pm
Location: The Netherlands
Contact:

Re: Protecting Source?

Post by Robin »

I don't know, but is it possible to create a multi pass decryption? Then no single function has the power to decrypt anything on its own. I have no idea whether that is feasible or possible, though.
Help us help you: attach a .love.
User avatar
bartbes
Sex machine
Posts: 4946
Joined: Fri Aug 29, 2008 10:35 am
Location: The Netherlands
Contact:

Re: Protecting Source?

Post by bartbes »

Still, the encoding has to have input, if you fake that input.. or use an echo server and check what comes out on the decoded side.. hell, you can use a memory editor if you want to.

EDIT: And of course you can intercept calls to the encode and decode, printing the raw outgoing and incoming data.
User avatar
Robin
The Omniscient
Posts: 6506
Joined: Fri Feb 20, 2009 4:29 pm
Location: The Netherlands
Contact:

Re: Protecting Source?

Post by Robin »

Just like I thought... :ehem:

So, basically, there is no way to stop someone who is determined and doesn't want to play by the rules, whether it's a cheater, a cracker or a lock-picker, you can delay them and hope they get bored, but you cannot stop them.
Help us help you: attach a .love.
User avatar
bartbes
Sex machine
Posts: 4946
Joined: Fri Aug 29, 2008 10:35 am
Location: The Netherlands
Contact:

Re: Protecting Source?

Post by bartbes »

Correct, you can't stop me, I mean, them.
User avatar
bmelts
Party member
Posts: 380
Joined: Fri Jan 30, 2009 3:16 am
Location: Wiscönsin
Contact:

Re: Protecting Source?

Post by bmelts »

The essential problem is that once your code is in the hands of the end user, there's nothing you can do about it.

The only way to guard against cheaters and the like is to sanity check everything that comes into the server - that's how most MMOs do it, for example. They can't control modifications to the client, so they just keep an eye on what the client sends - if someone moves farther than they would be able to in normal gameplay, for instance, the server can restrict their movement and flag them as possible cheaters.

So, all you can really do to protect the sanctity of your high score tables is to have some method of determining real data from fake :\
User avatar
Robin
The Omniscient
Posts: 6506
Joined: Fri Feb 20, 2009 4:29 pm
Location: The Netherlands
Contact:

Re: Protecting Source?

Post by Robin »

And of course, even then it's possible to create a few fake accounts, and use some bots to assist you. While not quite as spectacular as some other ways of cheating, it would still give the cheater an unfair edge.
Help us help you: attach a .love.
User avatar
Jasoco
Inner party member
Posts: 3727
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

Re: Protecting Source?

Post by Jasoco »

Well, if you really want to make your code unreadable to anyone, they could switch from Lua to l00p...

Code: Select all

(|+>+++++++++>+++++++++>++****>+++*****+>+++++*<<<<<)>>(|<->+++++++++)<+(|&)-
++++++++++++++++++++++++++++++++++++++++++++++++.----------------------------
-------------------->++++++++++++++++++++++++++++++++++++++++++++++++.-------
----------------------------------------->.>+.+++++++++++++.+++++..--------.-
------.++++++++++++++.<.>----.---------.<.>----.+++..+++++++++++++.<.>---.-.<
.>++++++.------------.---.<.>++++++++++++++++++.----------------------.++++++
+++++..>.<-----------<<<++++++++++++++++++++++++++++++++++++++++++++++++.----
-------------------------------------------->++++++++++++++++++++++++++++++++
++++++++++++++++.------------------------------------------------>.>+.+++++++
++++++.+++++..--------.-------.++++++++++++++.<.>----.---------.<.>----.+++..
+++++++++++++.>.<++.-------------------.++++++++++.------.<.>++++++++++.-.---
------.<.>-.+++++++++++.++++++++.---------.<.>-------------.+++++++++++++.---
-------.<.>++++++++++++.---------------.++++++++++++++++++..<.>----------.+++
++++++++.<.>-------------------.+++++++++++++++++.---.++++++.-------.--------
--.>.<---<<<++++++++++++++++++++++++++++++++++++++++++++++++.----------------
-------------------------------->++++++++++++++++++++++++++++++++++++++++++++
+++.------------------------------------------------>.>+.+++++++++++++.+++++.
.--------.-------.++++++++++++++.<.>----.---------.<.>----.+++..+++++++++++++
.<.>---.-.<.>++++++.------------.---.<.>++++++++++++++++++.------------------
----.+++++++++++..>..<-----------<<<<
http://www.99-bottles-of-beer.net/langu ... -1030.html

Or maybe l33t?

Code: Select all

7 99999999998          
5 0 7 8                    
5 0 7 9999992              
5 0 7 9999992              
5 0 7 9994                 
5 0 7 99999999997          
5 0 7 9999999999992        
5 0 7 9999999999997        
5 0 7 9999999999997        
5 0 7 999999999998         
5 0 7 999999999991         
5 0 7 9999999999996        
5 0 7 9994                 
5 0 7 9999999999992        
5 0 7 999999999992         
5 0 7 9994                 
5 0 7 99999999997          
5 0 7 999999999991         
5 0 7 999999999991         
5 0 7 9999999999995        
5 0 7 9994                 
5 0 7 9999999999992        
5 0 7 9999999999991        
5 0 7 9994                 
5 0 7 9999999999997        
5 0 7 999999999994         
5 0 7 999999999991         
5 0 7 9994                 
5 0 7 99999999999991       
5 0 7 99999999996          
5 0 7 999999999998         
5 0 7 999999999998         
5 0 7 9                    
5 0                        
5 0 7 99999999997          
5 0 7 9999999999992        
5 0 7 9999999999997        
5 0 7 9999999999997        
5 0 7 999999999998         
5 0 7 999999999991         
5 0 7 9999999999996        
5 0 7 9994                 
5 0 7 9999999999992        
5 0 7 999999999992         
5 0 7 9994                 
5 0 7 99999999997          
5 0 7 999999999991         
5 0 7 999999999991         
5 0 7 9999999999995        
5 0 7 9                    
5 0                        
5 0 7 9999999992           
5 0 7 99999999996          
5 0 7 999999999997         
5 0 7 999999999991         
5 0 7 9994                 
5 0 7 9999999999992        
5 0 7 9999999999991        
5 0 7 999999999991         
5 0 7 9994                 
5 0 7 99999999999          
5 0 7 9999999999992        
5 0 7 99999999999991       
5 0 7 9999999999991        
5 0 7 99997                
5 0 7 9994                 
5 0 7 9999999999993        
5 0 7 99999999996          
5 0 7 9999999999996        
5 0 7 9999999999996        
5 0 7 9994                 
5 0 7 999999999995         
5 0 7 9999999999997        
5 0 7 9994                 
5 0 7 99999999996          
5 0 7 9999999999995        
5 0 7 9999999999992        
5 0 7 9999999999998        
5 0 7 9999999999991        
5 0 7 99999999999          
5 0 7 9                    
5 0                        
6 999999998 3 5 1 3 1 5 0 4 6 9993 1 5 0 1 5 0 1 5 9992 3 1 5 0 4 5 0 3 
1 5 0 4 6 999999998 8 0 5 0 3 8 0 5 0 1 5 0 8 0 1 5 9992 4 5 97 3 6 97
7 8 5 0 8 0 1 5 0 7 8 1 5 9992 4 5 0 8 99999999997 3 7 99999999997 6 98         
4 6 2 3 5 0 4 5 0 8 99999999997 3 7 99999999997 4 7 99999999997 6 9992      
3 1 5 0 4 6 0 1 6 9994 4 91
http://www.99-bottles-of-beer.net/langu ... t-963.html
User avatar
Robin
The Omniscient
Posts: 6506
Joined: Fri Feb 20, 2009 4:29 pm
Location: The Netherlands
Contact:

Re: Protecting Source?

Post by Robin »

Or decimal encoded BrainFuck? (0 = "+", 1 = "-", 2 = ">", 3 = "<", 4 = "[", 5 = "]", 7 = ",", 8 = "."... or, to make it more confusing, you could mix them up randomly...)
Help us help you: attach a .love.
Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot] and 15 guests