<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:admin="http://webns.net/mvcb/"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
	<channel> 

	<title>Comments on: What gives with these velocicarmageddon high scores?</title>
	<link>http://ask.metafilter.com/92443/What-gives-with-these-velocicarmageddon-high-scores/</link>
	<description>Comments on Ask MetaFilter post What gives with these velocicarmageddon high scores?</description>
	<pubDate>Mon, 26 May 2008 20:27:34 -0800</pubDate>
	<lastBuildDate>Mon, 26 May 2008 20:27:34 -0800</lastBuildDate>
	<language>en-us</language>
	<docs>http://blogs.law.harvard.edu/tech/rss</docs>
	<ttl>60</ttl>

	<item>
		<title>Question: What gives with these velocicarmageddon high scores?</title>
		<link>http://ask.metafilter.com/92443/What-gives-with-these-velocicarmageddon-high-scores</link>	
		<description>OK - this is stupid, but how on earth did &lt;a href=&quot;http://raptorsafari.com/leaderboards.php&quot;&gt;these people&lt;/a&gt; get such high scores on Off-Road Velociraptor Safari?  I got 1,000,000 points once when the game crashed mid-jump, but I can&apos;t fathom how these guys got scores in the billions!</description>
		<guid isPermaLink="false">post:ask.metafilter.com,2008:site.92443</guid>
		<pubDate>Mon, 26 May 2008 20:16:49 -0800</pubDate>
		<dc:creator>sfz</dc:creator>
		
			<category>games</category>
		
			<category>internet</category>
		
			<category>trivial</category>
		
			<category>procrastination</category>
		
	</item> <item>
		<title>By: amyms</title>
		<link>http://ask.metafilter.com/92443/What-gives-with-these-velocicarmageddon-high-scores#1353407</link>	
		<description>Cheat codes?</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92443-1353407</guid>
		<pubDate>Mon, 26 May 2008 20:27:34 -0800</pubDate>
		<dc:creator>amyms</dc:creator>
	</item><item>
		<title>By: Pyry</title>
		<link>http://ask.metafilter.com/92443/What-gives-with-these-velocicarmageddon-high-scores#1353410</link>	
		<description>Cheating, probably. There is no way to prevent it if you let people run the actual simulations on their own computers, as this game does. &lt;br&gt;
&lt;br&gt;
The best a developer could do would be to require that high scores are submitted along with the keystrokes required to achieve that score; the score could then be verified by running the keystrokes through their own copy of the game. However, this would not prevent cheating by things such as savestates, slow motion, computer control, and the like.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92443-1353410</guid>
		<pubDate>Mon, 26 May 2008 20:28:58 -0800</pubDate>
		<dc:creator>Pyry</dc:creator>
	</item><item>
		<title>By: sfz</title>
		<link>http://ask.metafilter.com/92443/What-gives-with-these-velocicarmageddon-high-scores#1353413</link>	
		<description>ok - I haven&apos;t been able to find any cheats. Can anyone point me in the right direction?</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92443-1353413</guid>
		<pubDate>Mon, 26 May 2008 20:29:38 -0800</pubDate>
		<dc:creator>sfz</dc:creator>
	</item><item>
		<title>By: kdar</title>
		<link>http://ask.metafilter.com/92443/What-gives-with-these-velocicarmageddon-high-scores#1353420</link>	
		<description>Worth noting that the leader on the scoreboard&apos;s score is 2,147,483,647 =  2^31 = 2 147 483 648 - 1.  This is exactly the upper bound for a &lt;a href=&quot;http://en.wikipedia.org/wiki/Integer_(computer_science)&quot;&gt;signed 32-bit integer&lt;/a&gt;.  I&apos;m guessing it&apos;s the highest possible score in the game.&lt;br&gt;
&lt;br&gt;
Almost definitely hax.  Most likely they figured out the submit mechanism.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92443-1353420</guid>
		<pubDate>Mon, 26 May 2008 20:34:43 -0800</pubDate>
		<dc:creator>kdar</dc:creator>
	</item><item>
		<title>By: Pyry</title>
		<link>http://ask.metafilter.com/92443/What-gives-with-these-velocicarmageddon-high-scores#1353429</link>	
		<description>Here are two possibilities for cheating (I&apos;m not about to install some random plugin for a single game):&lt;br&gt;
&lt;br&gt;
1) &lt;a href=&quot;http://www.instructables.com/id/Hacking-Flash-Games-High-Scores/&quot;&gt;This works if it is using http requests to submit high scores&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
2) If it&apos;s doing something more complicated (direct UDP?), you&apos;ll have to use a packet sniffer, or you might try changing your score in the game directly with a memory scanner like the &lt;a href=&quot;http://en.wikipedia.org/wiki/Cheat_Engine&quot;&gt;cheat engine&lt;/a&gt;.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92443-1353429</guid>
		<pubDate>Mon, 26 May 2008 20:46:53 -0800</pubDate>
		<dc:creator>Pyry</dc:creator>
	</item><item>
		<title>By: tumult</title>
		<link>http://ask.metafilter.com/92443/What-gives-with-these-velocicarmageddon-high-scores#1353447</link>	
		<description>it takes about 10 seconds (literally) to set your score to whatever you like in games like these, if you have any game hacking experience. online leaderboards for almost all games run on the client side are worthless unless it&apos;s on a locked-down, uncracked platform (xbox 360 and PS3 right now) and uses good encryption for communication back to the server.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92443-1353447</guid>
		<pubDate>Mon, 26 May 2008 21:13:12 -0800</pubDate>
		<dc:creator>tumult</dc:creator>
	</item><item>
		<title>By: magikker</title>
		<link>http://ask.metafilter.com/92443/What-gives-with-these-velocicarmageddon-high-scores#1353464</link>	
		<description>there is or at least was a little program called poke... It&apos;d let you punch in a value and it would search for the memory location for it. So if the score is 30 you&apos;d punch in 30 and it&apos;d tell you all the memory addresses that contain 30. If you get more than one at 30 you&apos;d get some more points in the game and then punch that it and further narrow it down. &lt;br&gt;
&lt;br&gt;
Once you know where it is the program would let you set it to what ever you want or freeze it at a value. I remember it working for tons of different programs.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92443-1353464</guid>
		<pubDate>Mon, 26 May 2008 21:33:49 -0800</pubDate>
		<dc:creator>magikker</dc:creator>
	</item><item>
		<title>By: heresiarch</title>
		<link>http://ask.metafilter.com/92443/What-gives-with-these-velocicarmageddon-high-scores#1353728</link>	
		<description>The only reason this is easy is because the developers were lazy about how they send the data. If they salted the high score reports (ala &lt;a href=&quot;http://ask.metafilter.com/45286/What-is-the-point-of-using-a-salt-when-encrypting-passwords-in-a-web-application&quot;&gt;this old askmefi thread on web security&lt;/a&gt;) this would be much harder to do. &lt;br&gt;
&lt;br&gt;
Tools that actually manipulate local game state will still work, though. I always assumed these kinds of attacks were always on the high score submission engine on the server, but the memory/time manipulation tools sound very sneaky.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92443-1353728</guid>
		<pubDate>Tue, 27 May 2008 06:39:56 -0800</pubDate>
		<dc:creator>heresiarch</dc:creator>
	</item><item>
		<title>By: matthewwegner</title>
		<link>http://ask.metafilter.com/92443/What-gives-with-these-velocicarmageddon-high-scores#1353874</link>	
		<description>So I did the web integration on Raptor Safari (along with the physics setup/tuning and some other stuff).  I&apos;ve been lazy lately on clearing the leaderboards of bogus scores, but only because we&apos;ll be moving all of our games to a central website soon.  When this happens we&apos;ll increment the version ID on the scores, which will essentially clear everything except the &quot;all-time, all-version&quot; list.&lt;br&gt;
&lt;br&gt;
Backend HTTP POSTs are salted, and somewhat obfuscated, so I doubt people are bothering to hack it there.  The scores are almost certainly in-memory changes while the game is running; then the client just sends the score along, proper hash and all.  When we move the game over to the new site I&apos;ll look at blocking a few of these.  It&apos;s definitely an arms race, though, and not a very productive use of time to match mischievous players move for move, but any low hanging fruit will be taken care of.&lt;br&gt;
&lt;br&gt;
The unified site will launch just as soon as &lt;a href=&quot;http://jetpackbrontosaurus.com/&quot;&gt;Jetpack Brontosaurus&lt;/a&gt; is complete...</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92443-1353874</guid>
		<pubDate>Tue, 27 May 2008 09:21:20 -0800</pubDate>
		<dc:creator>matthewwegner</dc:creator>
	</item><item>
		<title>By: delmoi</title>
		<link>http://ask.metafilter.com/92443/What-gives-with-these-velocicarmageddon-high-scores#1355133</link>	
		<description>One thing you could do if you wanted to prevent make it much more difficult would be to use a two-way function to store the score &lt;i&gt;in memory&lt;/i&gt;.  You could have another score &apos;in memory&apos; to be displayed on the screen, but use AES (or something) to store the original score. You could also keep a bunch of &apos;copies&apos; of the score in random places in memory to make debugging more difficult. &lt;br&gt;
&lt;br&gt;
But, in theory there is no real way to prevent fake scores from the truly dedicated.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92443-1355133</guid>
		<pubDate>Wed, 28 May 2008 05:57:52 -0800</pubDate>
		<dc:creator>delmoi</dc:creator>
	</item><item>
		<title>By: sleslie</title>
		<link>http://ask.metafilter.com/92443/What-gives-with-these-velocicarmageddon-high-scores#1356225</link>	
		<description>You could ensure that all randomized game elements were generated from a seed sent by the server, and then huffman encode the user&apos;s inputs (i.e. at game clock cycle one, the user pressed the space bar, at cycles two through 50, the user pressed no keys), send that over when a level is done, and then simulate the game on the server side (with a faster game cycle) to obtain the score. That way, the only way to send a valid score over to the server is to play the game.&lt;br&gt;
&lt;br&gt;
Now this doesn&apos;t account for people slowing down the game itself, although you could ensure that all seeds and user inputs are sent and received in a reasonable amount of time.&lt;br&gt;
&lt;br&gt;
But now you&apos;ve got the situation where people could save what is sent over by the game to the central server and allow others to download the run-throughs of the game.... this one I&apos;m having trouble with. You could store hashes of the game play encodings being sent, and disallow any that hit the same hash position -- assuming that the game play is complicated enough. Also note, that people can download good gameplay run-throughs anyways even if the score sending mechanism was 100% secure. &lt;br&gt;
&lt;br&gt;
There&apos;s nothing short of having people watching you play and then report the score to the server by themselves that would 100% solve this problem.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92443-1356225</guid>
		<pubDate>Wed, 28 May 2008 19:59:55 -0800</pubDate>
		<dc:creator>sleslie</dc:creator>
	</item><item>
		<title>By: matthewwegner</title>
		<link>http://ask.metafilter.com/92443/What-gives-with-these-velocicarmageddon-high-scores#1356990</link>	
		<description>sleslie:&lt;br&gt;
&lt;br&gt;
True, and I think this is a great solution for anything like a competitive bridge builder-style game.  Unfortunately, the physics system in Raptor Safari--PhysX--isn&apos;t deterministic.  It would be difficult for us to simulate a game on the server.  Plus, we&apos;ve had 535,672 games played to date, which is creeping up on nontrivial to process.&lt;br&gt;
&lt;br&gt;
We &lt;em&gt;do&lt;/em&gt; actually have a record of every scoring event in the game:  the type of score, its XYZ position, and when it happened in the game&apos;s timeframe.  I haven&apos;t done anything with it yet, but it&apos;s 15.4 million records of juice data waiting to mined.  Would be fun to heat map...&lt;br&gt;
&lt;br&gt;
I&apos;ll try a few things in the next update to discourage simple cheating, but in the end it&apos;s probably just as much time to code things as it would be to manually remove offending scores.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92443-1356990</guid>
		<pubDate>Thu, 29 May 2008 13:31:43 -0800</pubDate>
		<dc:creator>matthewwegner</dc:creator>
	</item>
	</channel>
</rss>
