corecheck.cpp

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

CPP
71
字号
/********************************************************************

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

	File :		CoreCheck.cpp	

	Created:	2003/11/04

	Author:		yihai
	
	Purpose:	?

	Revision:	?

*********************************************************************/
// CoreCheck.cpp : Defines the entry point for the application.
//

#include "stdafx.h"
#include <stdio.h>

#define _SHOW_CHECK_SUM

typedef int (WINAPI *TPFN_MessageBox)(HWND hWnd,LPCSTR lpText,LPCSTR lpCaption,UINT uType);

DWORD g_dwShellSum=0x3D77;

#ifdef  _SHOW_CHECK_SUM
int	  g_iOption = 1;
#else
int	  g_iOption = 2;
#endif

DWORD CheckSum(PBYTE pData,int iDataLen)
{
	DWORD dwSum =0;
	for(int i=0;i<iDataLen;i++)
	{
		dwSum += pData[i];
	}	
	return dwSum;
}

void ShowSumFixSize(DWORD dwSum,int iShow)
{	
	if(iShow==1)
		printf("%x",dwSum);
}

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
	PBYTE pDataStart = (PBYTE)0x40B000;	
	
 	DWORD dwSum = CheckSum(pDataStart,0x9A);

	if(dwSum!=g_dwShellSum)
	{
		ShowSumFixSize(dwSum,g_iOption);
		MessageBox(NULL,"This program will Crash soon","CoreCheck",MB_OK);
	}
	else
	{
		MessageBox(NULL,"Everything is in place.","CoreCheck",MB_OK);
	}

	return 0;
}

⌨️ 快捷键说明

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