Thư mục Security chứa các chứng nhận phần mềm sẽ được Windows "coi ngó" trước khi chương trình được thực thi. Điều đặc biệt là Windows xem nó nhưng bộ nạp (Loader) sẽ không nạp nó lên bộ nhớ, có nghĩa rằng trong các Sections không có nó => nó không có RVA. Vì vậy mà trong IMAGE_DATA_DIRECTORY[IMAGE_DIRECTORY_ENTRY_SECURITY] nếu trường VirtualAddress có nghĩa thì nó là Offset tập tin chứ không phải RVA.

Thư mục Security nếu có sẽ chứa 1 hoặc nhiều các kiểu chứng nhận khác nhau, mỗi kiểu chứng nhận bao gồm 1 cấu trúc WIN_CERTIFICATE + khối dữ liệu, kích thước khối dữ liệu được lưu trong WIN_CERTIFICATE.dwLength. Các kiểu chứng nhận được xắp xếp tuần tự và được canh chỉnh bằng 8 bytes (mỗi kiểu bắt đầu tại Offset chia hết cho 8).
Chúng ta có thể nhận con trỏ kiểu chứng nhận đầu tiên như :
Visual C++ Code:
  1.     LPWIN_CERTIFICATE Security_GetCertificate()
  2.     {
  3.         PIMAGE_DATA_DIRECTORY   pDataDirectory = (PIMAGE_DATA_DIRECTORY)GetDataDirectory(IMAGE_DIRECTORY_ENTRY_SECURITY);
  4.         DWORD                   dwOffset = pDataDirectory->VirtualAddress;
  5.         DWORD                   dwSize = pDataDirectory->Size;
  6.         if (dwAddress && dwSize)
  7.             return (LPWIN_CERTIFICATE)(m_pFile + dwOffset);
  8.         return NULL;
  9.     }

và tuần tự các chứng nhận khác cho đến hết như :
Visual C++ Code:
  1.     LPWIN_CERTIFICATE Security_GetCertificate(LPWIN_CERTIFICATE pPrevCertificate, DWORD & dwCurSize, DWORD dwTotalSize)
  2.     {
  3.         dwCurSize += sizeof(WIN_CERTIFICATE) + pPrevCertificate->dwLength - 1;
  4.         DWORD       dw = dwCurSize % 8;
  5.         if (dw)
  6.             dw = 8 - dw;
  7.         dwCurSize += dw;
  8.         if (dwCurSize < dwTotalSize)
  9.             return (LPWIN_CERTIFICATE)((PBYTE)(pPrevCertificate + 1) + pPrevCertificate->dwLength - 1);
  10.         return NULL;
  11.     }
Trong đó dwTotalSize chính là kích thước tổng mà được lấy từ trường Size trong thư mục Security. và dwCurSize là kích thước cộng dồn tới hết chứng nhận trước đó.

Khối dữ liệu mà theo sau cấu trúc WIN_CERTIFICATE có bố cục hay nội dung là không có định dạng chung và rất tùy nghi nên tôi không đi sâu hơn. Trong pe4.exe cũng có theo bước 1 vài kiểu chứng nhận, bạn có thể xem qua.