Obfuscation and reverse engineering deterrents for C++ Win/OSX app -
I've got a C + + app that ships on Windows and OSX. It communicates with our backend with TCP (OpenSSL, encrypted with niche). I would like to throw some speed parallels for those people who are trying to reverse the protocol engineer and / or separate the executable.
Skype does an outstanding job of this, that's why you will not get many Skype speakers. It's really good that what it does:
I need some suggestions on how to complete such stuff. Are there business products that make the code harder to analyze statically?
-
Prevent GDB from engaging in your program (it can be worked around, but some casual searchers will be away)
-
Your product stored outside the text segment of the executable At least some code, for example, or in the external (encrypted) shared library.
-
Minimize security by not storing any sensitive string data in plain text; Run "wire" against your executable, and if you can see anything that is used in the protocol If you are useful to someone trying to find out, then encrypt it.
-
GCC's Foam-Frame-Pointer option can make debugging more painful (but can interact with C + + exceptions poorly).
Comments
Post a Comment