I'm creating a game in Flash that submits high scores to a server. While I'm planning to take several precautions on the server-side to prevent tampering, the weak link in the chain is Flash itself. Using cheating tools, players can monitor and adjust variables in memory.
I realize that most Flash/SWF obfuscators are intended to prevent people from (easily) decompiling an SWF. Will they help at all as an anti-cheating mechanism?
As you said obfuscator are just a way to make decompiled code less easier to read, it's not a reliable protection. You have instead to build your own protection to ensure that a variable is not modified, or is in acceptable range for an instant T, etc...
You can't trust any answer provided by a client but you have to check on the server side if all is ok.
Using a form of encryption will mostly do the trick, there are a couple of encryption libraries available for flash in as3, which can also be implemented on the server-side ASP or PHP.
If you want the game to only run on your server, you can also detect where the signal is sent from in your recieving trick, and ignore anything not coming from your domain. It will be a real pain to tamper with your codes, if you have to run from your dedicated domain to submit scores.
If you are still looking for a SWF obfuscator, I just release one I developed for the last project I worked on. It's still a work in progress but it's open source, free, and it worked for my project. See the github site for full details on usage and license.
https://github.com/Teesquared/flasturbate