Microsoft 可移植可执行文件和通用对象文件格式规范

Updated: March 27, 2008

此文档指定了 Microsoft Windows 操作系统家族下可执行(图像)文件和对象文件的结构。这些文件分别称为可移植可执行 (PE) 文件和通用对象文件格式 (COFF) 文件。名称“可移植可执行文件”反映了该格式与体系结构无关的事实。

Microsoft 可移植可执行和通用对象文件格式规范修订版 8.1 指定了 Visual Studio 2008(Visual Studio 9.0 版)和当前 Microsoft Windows 操作系统家族(包括 Windows Server 2008)支持的对象和可执行文件结构。修订版 8.1 取代了此规范的所有早期版本。

修订版 8.1 已经过修订,以更好地描述如何适应 Authenticode 签名,包括:

第 5.7 节“属性证书表(仅适用于图像)”已进行充分修订,阐明了如何处理 Authenticode 签名。

附录 A“计算 Authenticode PE 图像哈希算法”已从规范中删除,并合并到一个单独的文档Windows Authenticode 可移植可执行文件签名格式

请在继续之前阅读许可协议。

Top of pageTop of page

    PE-COFF 许可协议

LICENSE AGREEMENT

Microsoft Portable Executable and Common Object File Format Specification
Microsoft Corporation
Revision 8.1

Note: This specification is provided to aid in the development of certain development tools for the Microsoft Windows platform. However, Microsoft does not guarantee that it is a complete specification in all respects, and cannot guarantee the accuracy of any information presented after the date of publication. Microsoft reserves the right to alter this specification without notice.

Microsoft will grant a royalty-free license, under reasonable and non-discriminatory terms and conditions, to any Microsoft patent claims (if any exist) that Microsoft deems necessary for the limited purpose of implementing and complying with the required portions of this specification only in the software development tools known as compilers, linkers, and assemblers targeting Microsoft Windows.

Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this specification may be reproduced, stored in or introduced into a retrieval system, modified or used in a derivative work, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft.

Microsoft may have intellectual property rights covering subject matter in this specification. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this specification does not give you any license to any intellectual property rights, and no other rights are granted by implication, estoppel, or otherwise.

© 2005-2008 Microsoft Corporation. All rights reserved.

This specification is provided "AS IS." Microsoft makes no representations or warranties, express, implied, or statutory, as (1) to the information in this specification, including any warranties of merchantability, fitness for a particular purpose, non-infringement, or title; (2) that the contents of this specification are suitable for any purpose; nor (3) that the implementation of such contents will not infringe any third party patents, copyrights, trademarks, or other rights.

Microsoft will not be liable for any direct, indirect, special, incidental, or consequential damages arising out of or relating to any use or distribution of this specification.

Microsoft, MS-DOS, Visual Studio, Visual C++, Win32, Windows, Windows NT, Windows Server, and Windows Vista are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Other product and company names mentioned herein may be the trademarks of their respective owners.

The foregoing names and trademarks may not be used in any manner, including advertising or publicity pertaining to this specification or its contents without specific, written prior permission from the respective owners.


Top of pageTop of page