Compilation 如何从PE中删除Mingw版本信息?

Compilation 如何从PE中删除Mingw版本信息?,compilation,mingw,Compilation,Mingw,使用mingw时,编译器会在.rdata部分添加大量版本字符串。例如,在linux中: GCC: (Gentoo Hardened 4.8.1-r1 p1.2, pie-0.5.7) 4.8.1 GCC: (Gentoo Hardened 4.8.1-r1 p1.2, pie-0.5.7) 4.8.1 GCC: (Gentoo Hardened 4.8.1-r1 p1.2, pie-0.5.7) 4.8.1 ... 或在windows中: GCC: (GNU) 4.8.1 GCC: (GNU)

使用mingw时,编译器会在
.rdata
部分添加大量版本字符串。例如,在linux中:

GCC: (Gentoo Hardened 4.8.1-r1 p1.2, pie-0.5.7) 4.8.1
GCC: (Gentoo Hardened 4.8.1-r1 p1.2, pie-0.5.7) 4.8.1
GCC: (Gentoo Hardened 4.8.1-r1 p1.2, pie-0.5.7) 4.8.1
...
或在windows中:

GCC: (GNU) 4.8.1
GCC: (GNU) 4.8.1
GCC: (GNU) 4.8.1
...
有没有办法删除它们,或者至少将它们放在一个单独的部分(例如.comment)


谢谢

propper解决方案:不使用
——使用pkgversion
标志重新编译工具链


黑客解决方案:在十六进制编辑器中打开
g++
,找到所述字符串,用
0x00
s

替换为
-nostlib
mingw只插入一个字符串。但是你失去了很多魔力:)一个带有
-Qn
(这是gcc的默认值)的字符串,最后一个字符串也消失了。