ape wrote:The game client is written in java and as such you can easily decompile the entire thing and recompile any changes you want, even without the original source code. The only way to stop that is obfuscation, which only slows hackers down; you can't fully prevent it.
That doesn't even stop seasoned hackers, since you STILL have more information available to you than the average C/C++ program dumped out in assembly that seasoned hackers are most likely proficient in cracking already.
loftar wrote:It strikes me, now that you mention it, that you'll be having trouble making a feature-complete client on the CLR, at least without running Java bytecode. Some resources contain some integrated Java code that is loaded on demand -- in particular, such things as some special sprites and some of the rarer UI elements.
Storing java code in a resource file is a very strange move, and I was aware that you had a code storage resource but wasn't sure that you ever actually used it. I would recommend avoiding storing code in resources/sending it from the server since it can cause a very interesting security situation but for smaller stuff a few hours with Reflection.Emit or Cecil and the JVM manual can probably give us the ability to compile simple java code in to CIL.