ggambett
09-19-2003, 08:11 AM
Are you aware of any game made in MMF/Blitz/Whatever that has been cracked?
If you have a good registration code scheme involving your server and asymetric keys, the weak point is the executable itself. Cracking a regular exe is relatively easy, a matter of disassembling it and tweaking it a little. As easy as NOPing the check protection call, or as "complicated" as reverse-engineering the key verification code and making a keygen, or changing the public key.
But what about virtual machines or bytecode interpreters in particular? I think it's much, much harder to disassemble and reverse-engineer something like that, specially if the cracker doesn't know what he is trying to crack.
So, maybe, the solution to the cracking problem could be
1. Design and implement a scripting language, bytecode compiler and interpreter
2. Embed the protection code in your game code, written in that language
(3. Profit?)
Note that I suggest making your own language instead of using Lua/Python/whatever because it's far more likely that a bytecode decompiler exists for those languages than for yours. Besides, sounds like fun :D
Any thoughts?
If you have a good registration code scheme involving your server and asymetric keys, the weak point is the executable itself. Cracking a regular exe is relatively easy, a matter of disassembling it and tweaking it a little. As easy as NOPing the check protection call, or as "complicated" as reverse-engineering the key verification code and making a keygen, or changing the public key.
But what about virtual machines or bytecode interpreters in particular? I think it's much, much harder to disassemble and reverse-engineer something like that, specially if the cracker doesn't know what he is trying to crack.
So, maybe, the solution to the cracking problem could be
1. Design and implement a scripting language, bytecode compiler and interpreter
2. Embed the protection code in your game code, written in that language
(3. Profit?)
Note that I suggest making your own language instead of using Lua/Python/whatever because it's far more likely that a bytecode decompiler exists for those languages than for yours. Besides, sounds like fun :D
Any thoughts?