微软数字签名和长度和位移

原来微软数字签名的内容是直接追加在文件末尾的,这导致了原来的根据PE头的Sections的最后一个段的位移和大小确定文件末尾的方法对于有签名的程序不适用。还好,有OptionHeader中的结构可以获取数字签名的长度。
ntHeaders.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_SECURITY]