I want to know if Visual Studio store hidden data in compiled files ( or other files ). I am talking about information data about the fact that the program is written with Visual Studio.
-
2Only your credit cards & social security numbers. – John Dibling Jan 11 '11 at 22:58
-
What exactly are you trying to achieve? – Martin York Jan 11 '11 at 23:22
3 Answers
Visual Studio itself does not watermark your programs in this way, but it is often detectable that you used Microsoft's toolchain simply because of incidentals, i.e. what order methods are compiled into the file, what implementation of exceptions is used (MSVC++ uses a specific exception code on top of NT's SEH in order to implement C++ exceptions; MinGW, for example, uses a completely different system), and what decorations are applied to function names. These bits of information are how tools like PEID operate.

- 104,103
- 58
- 317
- 552
-
So if I write the code with Visual Studio 2010 and then compile it with MinGW, in this case does anyone can know if I have used Visual Studio ? – xRobot Jan 11 '11 at 23:07
-
@xRobot: Assuming they don't have access to your source code, then no, they won't be able to tell that. On the other hand, getting MSVC++ to use MinGW as a compiler is difficult to impossible. Why does it matter if someone can tell what toolchain you're using? MinGW also makes it difficult to call a lot of Windows APIs, i.e. WMI, because it does not have a complete set of Windows headers. (For example, it doesn't have `wbemidl.h`, and it's missing most COM related stuff) – Billy ONeal Jan 11 '11 at 23:22
if I correctly understand your question:
it's impossible to distinguish if you build your program using Visual C++ Express Edition (free) or other non-free editions if you don't use specific options not available in Express Edition. some comparison of VS2008 editions can be found here

- 15,967
- 6
- 64
- 112