// exam5.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <tchar.h>
#include <Windows.h>
#include <WinTrust.h>
#include <SoftPub.h>
#include "mscat.h"
#pragma comment (lib, "WinTrust.lib")
BOOL CheckFileTrust(LPCTSTR lpFileName);
BOOL CheckFileTrust(LPCTSTR lpFileName)
{
BOOL bRet = FALSE;
WINTRUST_DATA wd = { 0 };
WINTRUST_FILE_INFO wfi = { 0 };
WINTRUST_CATALOG_INFO wci = { 0 };
CATALOG_INFO ci = { 0 };
HCATADMIN hCatAdmin = NULL;
if (!CryptCATAdminAcquireContext(&hCatAdmin, NULL, 0))
{
return FALSE;
}
HANDLE hFile = CreateFile(lpFileName,
GENERIC_READ,
FILE_SHARE_READ,
NULL, OPEN_EXISTING,
0, NULL );
if (INVALID_HANDLE_VALUE == hFile)
{
CryptCATAdminReleaseContext(hCatAdmin, 0);
return FALSE;
}
DWORD dwCnt = 100;
BYTE byHash[100] = { 0 };
CryptCATAdminCalcHashFromFileHandle(hFile, &dwCnt, byHash, 0)
验证pe文件数字签名
最新推荐文章于 2020-09-09 23:49:34 发布