Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#include <nt.h>
#include <ntrtl.h>
#include <nturtl.h>
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <wincrypt.h>
#include <imagehlp.h>
#define MemAlloc malloc
#define MemFree free
#ifdef SIGN_DEBUG
#define SIGN_DBGP(x) printf x
#else // SIGN_DEBUG
#define SIGN_DBGP(x)
#endif // SIGN_DEBUG
#include "../inc/pubblob.h" // needed by certvfy.inc
#include "../inc/certvfy.inc" // VerifyFile()
RTL_CRITICAL_SECTION VfyLock;
/*****************************************************************************/ void _cdecl main(int argc, char *argv[]) { WCHAR szSourceFile[ MAX_PATH + 1]; DWORD dwBc;
if ( argc != 2 ) { printf( "Usage: %s PE_File_Name\n", argv[0] ); exit(1); }
RtlMultiByteToUnicodeN( szSourceFile, sizeof(szSourceFile), &dwBc, argv[1], (strlen(argv[1]) + 1) );
RtlInitializeCriticalSection( &VfyLock );
if( !VerifyFile( szSourceFile, &VfyLock ) ) { printf("Error verifying file!\n"); exit(1); }
printf("Verification successful.\n"); exit(0); }
|