I want to protect my applications from reverse engineering.
What I would like to do is protect the executable from any tampering, such as with hex editors, resource editors, and dis-assembly tampering.
My idea is to have the application check the hash value of itself against an imported value in a version file from the service server (probably an xml file or flatfile), then shut down the application or somehow disable it's functionality completely if the values do not match.
I am in strange waters here, so if anyone has any comments, suggestions, ideas, or code examples, I would appreciate it.
The Development Language is C++ but I would happily take examples from any language.
Thanks in advance for any assistance.