?? encryptsoftware.h
字號:
#ifndef ENCRIPT_SOFTWARE_INCLUDED
#define ENCRIPT_SOFTWARE_INCLUDED
//////////////////////////////////////////////////////////////////////////
//standard interface assume the following string saved in szRegLocation:
//User, Organization, SerialNo;
BOOL GetMacAddress(char *mac);
//implemented in GetHDIdInfo.cpp
DWORD GetHardDiskKey(BOOL bUse);
///////////////////////////////////////////////////
//特定application可以適當修改的接口:
//WINAPI can be read by other tools for decoding the object program code
BOOL getmac_one();
//encoding tools
#define DWORD_ENCODE1(dw) ( ~( (dw>>16) | (dw<<16) ) )
#define DWORD_DECODE1(dw) ( ((~dw)>>16) | ((~dw)<<16) )
#define WORD_ENCODE3(w) (WORD)( ~( (w>>8) | (w<<8) ) )
#define WORD_DECODE3(w) (WORD)( ((~w)>>8) | ((~w)<<8) )
#define WORD_ENCODE1(w) ( (DWORD)( ~( (w+179)<<3 ) ) )
#define WORD_DECODE1(dw) (WORD)( ( (~dw)>>3 ) - 179 )
#define WORD_ENCODE2(w) ( (DWORD)( ~( (w+137)<<5 ) ) )
#define WORD_DECODE2(dw) (WORD)( ( (~dw)>>5 ) - 137 )
__inline DWORD HexStringToDWORD(CString str)
{
DWORD n=0;
str.MakeUpper();
const char *buf=str;
int nLen=str.GetLength();
if(nLen>2*sizeof(DWORD))
nLen=2*sizeof(DWORD);//one byte displayed by 2 HEX char
for(int i=0;i<nLen;i++){
char ch=buf[i];
if(ch<'0' || ch>'F')
goto l_err;
if(ch<'A')
ch-='0';
else
ch=ch-'A'+10;
n=(n<<4) | ch;
}
return n;
l_err:
return 0;
}
__inline WORD HexStringToWORD(CString str)
{
WORD n=0;
str.MakeUpper();
const char *buf=str;
int nLen=str.GetLength();
if(nLen>2*sizeof(WORD))
nLen=2*sizeof(WORD);//one byte displayed by 2 HEX char
for(int i=0;i<nLen;i++){
char ch=buf[i];
if(ch<'0' || ch>'F')
goto l_err;
if(ch<'A')
ch-='0';
else
ch=ch-'A'+10;
n=(n<<4) | ch;
}
return n;
l_err:
return 0;
}
__inline BYTE HexStringToBYTE(CString str)
{
BYTE n=0;
//str.MakeUpper();
const char *buf=str;
int nLen=str.GetLength();
if(nLen>2*sizeof(BYTE))
nLen=2*sizeof(BYTE);//one byte displayed by 2 HEX char
for(int i=0;i<nLen;i++){
char ch=buf[i];
if(ch<'0' || ch>'z')
goto l_err;
if(ch<'A')
ch-='0';
else if(ch>='A')
ch=ch-'A'+10;
else if(ch>='a')
ch=ch-'a'+36;
n=(n<<4) | ch;
}
return n;
l_err:
return 0;
}
__inline BYTE HexStringToBYTE_Standard(CString str)
{
BYTE n=0;
str.MakeUpper();
const char *buf=str;
int nLen=str.GetLength();
if(nLen>2*sizeof(BYTE))
nLen=2*sizeof(BYTE);//one byte displayed by 2 HEX char
for(int i=0;i<nLen;i++){
char ch=buf[i];
if(ch<'0' || ch>'F')
goto l_err;
if(ch<'A')
ch-='0';
else
ch=ch-'A'+10;
n=(n<<4) | ch;
}
return n;
l_err:
return 0;
}
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -