Home » Stars! 2.6/7 » The Bar » Anti-cheating tools
Anti-cheating tools |
Mon, 28 February 2011 09:26 |
|
XyliGUN | | | Messages: 325
Registered: July 2004 Location: Russia, St.Petersburg |
|
|
Let's imagine we have a cheater with the knowledge about Stars! files decoding/structure. What kind of unfair things that person can do? And the main question: what can be done to prevent possible cheating? Obviously there is no possibility to prevent all kind of cheating, so here I'll just talk about possible cheating issues related to broken files encryption/structure.
In general there are two type of possible cheating with Stars! files:
1. Getting normally invisible info from your own m file
Example (it was discussed already on the forum) is knowledge on what Mystery Trader would give to you if you catch him. Once MT entered known space your m file contains exactly knowledge on that, but Stars! never shows it to you. This is just an example, but there is much more sensitive info about the universe, which some players have in their m files, that is never shown by Stars.
There is two possible solutions:
1) Make this info available to everybody (so, cheater wouldn't get any advantage here).
2) Make it unavailable or useless for everybody (specifically make it unavailable or useless to cheater).
Personally I don't see any problem with allowing everybody to know what trader gives (thus Stars! creators decided to hide it, so let's keep it this way), but I do see a big problem with another knowledge, which definitely shouldn't be available (I'll keep details for a while, what I can say now is that it could be a mission critical and a game winner if used properly). So, the only reasonable way to avoid this issue is to remove that knowledge from m file right after generation (before player can even access his m file).
IMHO, the best solution here is a tool that will automatically zeroes such hidden info in m files (i.e. it would always looks like trader gives techs, but it would actually gives something different).
Let's say I have a tool (I'll call it cleaner), which can find and remove any sensitive info I was able to find without knowledge of m file password. All other info will be kept in m file unchanged, I can obviously give it to Ron, so he can use it on SAH, but the question here is how to test it? I've done a number of tests and it works just fine on my old games, but I cannot state that it's bugs free. The funny thing is that anybody who ready to test this anti-cheat tool would need to know the way to actually cheat to be able to check that it actually works. Any thoughts/comments/suggestions?
2. Getting advantages of game bugs (using an x file to perform actions that would be impossible to do normally)
The best example here is a free pop hack done by using memory editor to get a lot of pop from thin air. Technically, this hack results in adding a command into x file, which orders host to load/unload more pop (or minerals) that your planet/fleet actually have.
I don't see any possibility to prevent this other than automatically verify each uploaded x file for things like that (so, it makes impossible to cheater to actually use it).
The best solution here is to have a tool that will load xy, hst files and then verify each player actions from x file.
Technically speaking there are just 23 possible actions in x file (for example: load/unload, change design, change production queue, change waypoints and so on). And about 17 of them could be destructive (could be used by cheater to get unfair advantage).
I have a prototype of the tool (let's call it verifier) that verifies x file actions, it's more complex than cleaner, since it have to parse all file info, while cleaner just needs to parse and change a couple of blocks. So far, it's only verifies free pop hack (i.e. load/unload action), but I'm working on other actions to be verified. And again the most tricky question is how to test it (anybody who would test it needs to be able to learn on how to cheat)? Any thoughts/comments/suggestions?
It looks like I have to start creating a cheating files collection...
...
[Updated on: Mon, 28 February 2011 15:58]
"Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something."
Robert A. Heinlein, Time Enough For LoveReport message to a moderator
|
|
|
Re: Anti-cheating tools |
Mon, 28 February 2011 10:37 |
|
m.a@stars | | Commander | Messages: 2765
Registered: October 2004 Location: Third star to the left | |
|
XyliGUN wrote on Mon, 28 February 2011 15:26 | IMHO, the best solution here is a tool that will automatically zeroes such hidden info in m files
|
I second that.
You should probably ask Ron about it, since he would be the main user...
Suggestion: write a log of the changes/zeroings the tool does, just in case.
Quote: | I don't see any possibility to prevent this other than automatically verify each uploaded x file for things like that
|
Yes indeed.
Checking load/unload shenanigans would be great. Stomping bugs like the "free" starbase, the "starbase forces friends to attack eachother", the "dock armor overflow", the "pursuer fleet gets stuck" and similar would also be very good.
Did you start coding from scratch, or perhaps you used some older tools as starting point?
So many Stars, so few Missiles!
In space no one can hear you scheme! Report message to a moderator
|
|
| | |
Re: Anti-cheating tools |
Mon, 28 February 2011 14:31 |
|
|
Both sound good to me.
I see no reason to provide information if you're not going to provide the information and anyone who's done web development is very familiar with input validation...I vaguely remember being surprised it wasn't being done when I first heard of the free pop hack.
Report message to a moderator
|
|
| |
Re: Anti-cheating tools |
Tue, 01 March 2011 18:16 |
|
XyliGUN | | | Messages: 325
Registered: July 2004 Location: Russia, St.Petersburg |
|
|
m.a@stars | You should probably ask Ron about it, since he would be the main user...
|
I will, but to just start thinking of deploying cleaner on SAH I need to find the way to test it, and this is where I need some good ideas. Currently I can only test it on my own (if I'd start teaching others on the ways to cheat... well, you know... I don't think it's a right way to go), which isn't enough. And I cannot ask Ron to deploy it on SAH, since it can damage someones m file (yes, there could be a backup of the original m files, just in case, and this way it could be tested in the real games, but I'd prefer to test it before it would affect someones game).
m.a@stars | Suggestion: write a log of the changes/zeroings the tool does, just in case.
|
Yep, will be done.
m.a@stars | Did you start coding from scratch, or perhaps you used some older tools as starting point?
|
Initially knowledge (encoding/structure), required to start working on these tools, was collected on and around SAH (so, at that point I was collecting what others already finds out). As of code itself it's started from scratch.
[Updated on: Tue, 01 March 2011 19:35]
"Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something."
Robert A. Heinlein, Time Enough For LoveReport message to a moderator
|
|
| |
Re: Anti-cheating tools |
Tue, 01 March 2011 18:53 |
|
XyliGUN | | | Messages: 325
Registered: July 2004 Location: Russia, St.Petersburg |
|
|
magic9mushroom | Hmm...
I assume the "much more sensitive info" is locations of other races' stuff, and what their designs are?
Not that I'm a hacker, those just seem like likely ones.
|
It's more than sensitive, but let me keep it in secret until cleaner will be ready, so Ron will have a chance to prevent its' usage. Then I'll disclose what was that.
magic9mushroom | As long as the tool wouldn't actually patch Stars (hacking can be useful when setting up games, and a "hacker's game" may come up someday), then I think it's a good idea.
|
Stars! executable isn't affected at all. No patching, hacking, etc. Cleaner will just read m file, set everything that you shouldn't see to some sort of default values, keep all other data unchanged and than write new m file, which could be safely given to cheater - it would have nothing to steal, other than he already knows and can see in Stars! itself. Verifyer is more complex, since it have to parse all the data from hst file, than read each command from x file and analyse whether it valid or not. But it will only log if there is something wrong or not and return if file verification was succesfull, so no changes to any file will be done at all.
[Updated on: Tue, 01 March 2011 19:08]
"Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something."
Robert A. Heinlein, Time Enough For LoveReport message to a moderator
|
|
| | | | | | |
Re: Anti-cheating tools |
Wed, 02 March 2011 18:10 |
|
|
[quote title=magic9mushroom wrote on Thu, 03 March 2011 01:02]XyliGUN wrote on Wed, 02 March 2011 23:52 |
I'm not saying you shouldn't use your tool. I'm saying you should add your list of hidden information in the .m file to the Known Cheats list.
|
that would actually make the starsautohost server, the only safe place to play games/duels anymore..
A double-edged sword.
If more people join and donate, great.
If ppl join, but don't donate, more pressure on the server.
[Updated on: Wed, 02 March 2011 18:11]
I know my minefields.. but I'm a chaff sweeper.
I used to curse when I got stuck in traffic... till I realised I AM traffic.Report message to a moderator
|
|
| | | | | | | | |
Re: Anti-cheating tools |
Thu, 03 March 2011 11:21 |
|
m.a@stars | | Commander | Messages: 2765
Registered: October 2004 Location: Third star to the left | |
|
nmid wrote on Thu, 03 March 2011 05:05 | Any game played 1on1 would mean that it would be more vulnerable to these 'newly disclosed' hacks.
|
Any game, played without any kind of cleaner / sanitizer tool, is already open to all kinds of things. With those tools at least some, or most games, can be protected.
It's time we abandon "security by obscurity" and opt for real security.
After that the game will evolve as it should have years ago to new heights, thanks to the new "advisor" tools, "merge/exchange" tools, AI tools, MM tools, "scenario" tools, MMORPG tools and whatnot.
So many Stars, so few Missiles!
In space no one can hear you scheme! Report message to a moderator
|
|
|
Goto Forum:
Current Time: Wed May 08 01:36:59 EDT 2024
|