我有应用程序(可执行文件),但我没有该应用程序的源代码。我可以启动这个应用程序。 我需要知道它是发布还是调试版本。
Windows中有没有办法以编程方式确定应用程序是使用_DEBUG
宏编译的?
P.S。
CheckRemoteDebuggerPresent
可以检查附加的调试器进程是否存在。这不是我需要的。
答案 0 :(得分:1)
我首先会用一些最基本的数据嗅探它, 两个这样的例子是bin字符串和应用程序头;
无
<assemblyIdentity type="win32" name="Microsoft.VC90.CRT
&#34;
使用<assemblyIdentity type="win32" name="Microsoft.VC90.DebugCRT"
(也可能是编译器的ID?)
您可以使用以下任何选项提取字符串:在VS中打开exe并查看RCDATA,在十六进制编辑器中打开exe,BinText等GUI工具,字符串实用程序MinGW binutils (windows)等等选项
正如我所说,这些可能会给出答案,或者如果不希望给出一些线索。