I'm developing a multi-player game. What's the best way to store the server password in the game exe in such a way that if someone tries to crack the game, the password will be removed? I'm using a custom obfuscator and encrypting the password so nobody can read it.
I'm developing a multi-player game...
Reconsider your architecture.
Never trust the client. If you're using a password then try another way
im pretty sure you fuck it right in the pussy
you have no clue, give up
Jow Forums confirmed for mongest of all boards
The architecture is quite robust, actually. The backend is built using C# for high performance and there's a cheat detection module that checks the game exe's sha1hash every time it runs. The game itself is written in VC++, WebKit and C#. The password module is obfuscated using AES and XOR.
If a client is cracked, the sha1hash will change so the server will detect it. However at that point, I need to overwrite the exe to remove the password from the game. Problem is, in windows an application cannot write to a file that is currently in use.
Is the password entered by the user or is it embedded in the game itself?
Just open the exe in a hex editor and see if your password is visible there.
The sha can be spoofed and the password is impossible to protect.
You cannot ever treat the client as trustworthy. In software architecture the client is always and I mean always malicious.
Assume this.
make a function that generates it