我想知道Visual Studio是否将隐藏数据存储在已编译文件(或其他文件)中。 我在谈论有关程序是用Visual Studio编写的信息数据。
答案 0 :(得分:5)
Visual Studio本身并没有以这种方式为您的程序添加水印,但是通常可以检测到您使用Microsoft的工具链只是因为偶然事件,即将命令方法编译到文件中,使用了什么异常实现(MSVC ++使用了NT的SEH顶部的特定异常代码,以实现C ++异常;例如,MinGW使用完全不同的系统),以及应用于函数名称的装饰。这些信息是PEID等工具的运作方式。
答案 1 :(得分:3)
MS c ++编译器/链接器将在DOS存根和PE头之间添加一些编码数据,它以Rich字母开头,主要包含版本信息,有关详细信息,请参阅this page
答案 2 :(得分:1)
如果我正确理解你的问题:
如果您不使用Express Edition中没有的特定选项,则无法区分是使用Visual C ++ Express Edition(免费)还是其他非免费版本构建程序。可以找到VS2008版本的一些比较here