ispe.cpp

来自「此为本书的配套光盘.本书不但由浅入深地讲解了软件保护技术」· C++ 代码 · 共 60 行

CPP
60
字号
/********************************************************************

	Copyright (c) Beijing Feitian Technologies
	http://www.FTSafe.com

	File :		IsPE.cpp	

	Created:	2003/11/04

	Author:		yihai
	
	Purpose:	?

	Revision:	?

*********************************************************************/


#include "stdafx.h"

#include <windows.h>

int main(int argc, char* argv[])
{
	if(argc<2)
	{		
		return 1;
	}
	
	char* pFileName = argv[1];
	
	if(pFileName)
	{
		FILE* filePt = fopen(pFileName,"r");
		
		IMAGE_DOS_HEADER  dosHdr;
		IMAGE_NT_HEADERS  ntHdr;
		if(filePt)
		{
			fread(&dosHdr,sizeof(IMAGE_DOS_HEADER),1,filePt);
			fseek(filePt,dosHdr.e_lfanew,SEEK_SET);
			fread(&ntHdr,sizeof(IMAGE_NT_HEADERS),1,filePt);
			if( (dosHdr.e_magic == IMAGE_DOS_SIGNATURE)&&
				(ntHdr.Signature == IMAGE_NT_SIGNATURE) )
			{
				printf("%s is PE\n",pFileName);
			}		
			else
			{
				printf("%s is not PE\n",pFileName);
			}
		}
		else
			printf("open %s error!\n",pFileName);
	}
	
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?