What's the purpose of the @comp.id objects? #8
|
If I turn on this parameter when using the ImpLIb SDK, a What's the purpose of this feature? Why is it disabled by default? |
Replies: 1 comment
|
The In the ImpLib SDK this feature is disabled by default because the developers usually don't want to include additional signatures to identify their development environment and tools. An article about the Rich Signature was published in 2004 on WASM.RU, a website dedicated to low-level programming. At that time Microsoft just started to include this signature into the executables. There was no official name for this signature and too much speculation about its ultimate purposes. S.T.A.S., the author of the article, called it the seal of Baal. Daniel Pistelli included a link to that original article, but the link is long dead. Unfortunately is was not cached by the Wayback Machine. I'm attaching the article here. It's written in Russian. There is also a tool to patch earlier versions of the MS linker to remove the signature. This tool was created by Asterix, the coauthor of the µFMOD player. |

The
@comp.idis used to identify the compiler that generated the object code. The linker merges the@comp.idvalues into the Rich Signature when creating the PE image. Each@comp.idconsists of two 16-bit words. The most significant word identifies the compiler and the least significant word is the version. This feature is supported mainly by the MS toolchain. The format of the Rich Signature is mostly undocumented. You can find a comprehensive description in this article by Daniel Pistelli.In the ImpLib SDK this feature is disabled by default because the developers usually don't want to include additional signatures to identify their development environment and tools.
An article about …