csoftwarekey.h

来自「通过key保护程序以增强程序的安全程度」· C头文件 代码 · 共 63 行

H
63
字号
#if !defined(C_SOFTWAREKEY_H)   
#define C_SOFTWAREKEY_H

#include "windows.h"
#include "objbase.h"
#include <stdio.h>

// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
#define MAC_DIM					6
#define MACHINE_CODE_DIM		6
#define SOFTWAREKEY_DIM			6

// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
enum RETVALUE
{
	SUCCESS,
	ERROR_API_CALL_FAILED,
	ERROR_FAILURE_WHILE_LOADING_LIBRARY,
	ERROR_OS_VERSION_NOT_SUPPORTED,
	ERROR_SOFTWAREKEY_NOT_FOUND,
	ERROR_CONVERSION_CHAR_2_WCHAR_FAILED
};

// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
class CSoftwareKey
{
public:

	static RETVALUE RetrieveMACAddress(
						BYTE				pMACaddress[MAC_DIM]);

	static RETVALUE ComputeMachineCode(
						const BYTE			pMACaddress[MAC_DIM], 
						BYTE				pMachineCode[MACHINE_CODE_DIM]); 

	static RETVALUE ComputeSoftwareKey(
						const BYTE			pMachineCode[MACHINE_CODE_DIM], 
						BYTE				pSoftwareKey[SOFTWAREKEY_DIM]); 

	static RETVALUE VerifySoftwareKey(
						const char*			pSoftwareKeyString, 
						bool*				pIsValid);

	static RETVALUE GetSoftwareKeyStringFromIniFile(
						const char*			pFilePath, 
						char**				pSoftwareKeyString);

	static RETVALUE Buffer2String(
						const BYTE*			pBuffer, 
						const unsigned int	pBufferSize, 
						char**				pString);

	static RETVALUE String2Buffer(
						const char*			pString,
						BYTE**				pBuffer, 
						unsigned int*		pBufferSize);
};


#endif

⌨️ 快捷键说明

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