?? ntlmlib.h
字號:
#ifndef NTLM_LIB_HEADER
#define NTLM_LIB_HEADER
typedef BYTE CODE[8];
typedef BYTE MD4[16];
typedef struct
{
CODE code[2];
} LMHASH, * LPLMHASH;
typedef const LMHASH * LPCLMHASH;
typedef struct
{
MD4 code;
} NTLMHASH, * LPNTLMHASH;
typedef const NTLMHASH * LPCNTLMHASH;
typedef enum{LMAuth=0,NTLMAuth} AuthMode;
typedef BYTE RESPONSE[24]; //24字節(jié)的響應(yīng)字符串;
typedef const BYTE * LPCBYTE;
//將7字節(jié)的明文lpSrc轉(zhuǎn)換成8字節(jié)的散列密文;
BOOL StringToKey(LPCSTR lpSrc,LPSTR lpKey);
//轉(zhuǎn)換lpStr字符串中的內(nèi)容到LMHASH結(jié)構(gòu)中去;
BOOL StringToLMHash(LPLMHASH lpHash,LPCSTR lpStr);
//將長度是len的原文lpSrc用MD4算法加密成16字節(jié)的密文ret返回;
void md4(MD4 ret,LPCBYTE lpSrc,int len);
//轉(zhuǎn)換lpStr字符串中的內(nèi)容到NTLMHASH結(jié)構(gòu)中去;
BOOL StringToNTLMHash(LPNTLMHASH lpHash,LPCSTR lpStr);
//對密碼szPwd用服務(wù)器給定的鑰匙challenge得到回應(yīng)串ret;AuthMode是驗證類型,可以是NTLMAuth或LMAuth;
BOOL LMAuthen(RESPONSE ret,LPCSTR szPwd,CODE challenge,AuthMode);
//將16進(jìn)制數(shù)據(jù)lpCode按可見方式輸出到szHex緩沖中,形成可輸出字符串;szHex至少可容納len*2+1個字符;
void CodeToHex(LPSTR szHex,LPCBYTE lpCode,int len);
//將可見的16進(jìn)制字符串轉(zhuǎn)換成數(shù)據(jù)形式,len是lpCode的最大緩沖長度,返回實際轉(zhuǎn)換的字節(jié)數(shù);
int HexToCode(LPBYTE lpCode,int len,LPCSTR szHex);
#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -