📄 vncntlm.cpp
字号:
char* p = strrchr(szCurrentDir, '\\');
if (p == NULL) return false;
*p = '\0';
strcat (szCurrentDir,"\\authadmin.dll");
}
HMODULE hModule = LoadLibrary(szCurrentDir);
if (hModule)
{
CheckUserGroupPassword = (CheckUserGroupPasswordFn) GetProcAddress( hModule, "CUGP" );
HRESULT hr = CoInitialize(NULL);
result=CheckUserGroupPassword(userin,password,clientname,pszgroup1,locdom1);
CoUninitialize();
FreeLibrary(hModule);
}
else MessageBox(NULL, sz_ID_AUTH_NOT_FO, sz_ID_WARNING, MB_OK);
}
if (result==1) goto accessOK;
/////////////////////////////////////////////////////////////////
if (CheckAD() && W2KOS && (locdom1==2||locdom1==3))
{
char szCurrentDir[MAX_PATH];
if (GetModuleFileName(NULL, szCurrentDir, MAX_PATH))
{
char* p = strrchr(szCurrentDir, '\\');
if (p == NULL) return false;
*p = '\0';
strcat (szCurrentDir,"\\ldapauth.dll");
}
HMODULE hModule = LoadLibrary(szCurrentDir);
if (hModule)
{
CheckUserGroupPassword = (CheckUserGroupPasswordFn) GetProcAddress( hModule, "CUGP" );
HRESULT hr = CoInitialize(NULL);
result=CheckUserGroupPassword(userin,password,clientname,pszgroup1,locdom1);
CoUninitialize();
FreeLibrary(hModule);
}
}
if (result==1) goto accessOK;
//////////////////////////////////////////////////////////////////////
if (CheckAD() && NT4OS && CheckDsGetDcNameW() && (locdom1==2||locdom1==3))
{
char szCurrentDir[MAX_PATH];
if (GetModuleFileName(NULL, szCurrentDir, MAX_PATH))
{
char* p = strrchr(szCurrentDir, '\\');
if (p == NULL) return false;
*p = '\0';
strcat (szCurrentDir,"\\ldapauthnt4.dll");
}
HMODULE hModule = LoadLibrary(szCurrentDir);
if (hModule)
{
CheckUserGroupPassword = (CheckUserGroupPasswordFn) GetProcAddress( hModule, "CUGP" );
HRESULT hr = CoInitialize(NULL);
result=CheckUserGroupPassword(userin,password,clientname,pszgroup1,locdom1);
CoUninitialize();
FreeLibrary(hModule);
}
}
if (result==1) goto accessOK;
//////////////////////////////////////////////////////////////////////
if (CheckAD() && !NT4OS && !W2KOS && (locdom1==2||locdom1==3))
{
char szCurrentDir[MAX_PATH];
if (GetModuleFileName(NULL, szCurrentDir, MAX_PATH))
{
char* p = strrchr(szCurrentDir, '\\');
if (p == NULL) return false;
*p = '\0';
strcat (szCurrentDir,"\\ldapauth9x.dll");
}
HMODULE hModule = LoadLibrary(szCurrentDir);
if (hModule)
{
CheckUserGroupPassword = (CheckUserGroupPasswordFn) GetProcAddress( hModule, "CUGP" );
HRESULT hr = CoInitialize(NULL);
result=CheckUserGroupPassword(userin,password,clientname,pszgroup1,locdom1);
CoUninitialize();
FreeLibrary(hModule);
}
}
if (result==1) goto accessOK;
}
/////////////////////////////////////////////////
if (strcmp(pszgroup2,"")!=NULL)
{
///////////////////////////////////////////////////
// NT4 domain and workgroups
//
///////////////////////////////////////////////////
{
char szCurrentDir[MAX_PATH];
if (GetModuleFileName(NULL, szCurrentDir, MAX_PATH))
{
char* p = strrchr(szCurrentDir, '\\');
if (p == NULL) return false;
*p = '\0';
strcat (szCurrentDir,"\\workgrpdomnt4.dll");
}
HMODULE hModule = LoadLibrary(szCurrentDir);
if (hModule)
{
CheckUserGroupPassword = (CheckUserGroupPasswordFn) GetProcAddress( hModule, "CUGP" );
HRESULT hr = CoInitialize(NULL);
result=CheckUserGroupPassword(userin,password,clientname,pszgroup2,locdom2);
CoUninitialize();
FreeLibrary(hModule);
}
else MessageBox(NULL, sz_ID_AUTH_NOT_FO, sz_ID_WARNING, MB_OK);
}
if (result==1) goto accessOK;
//////////////////////////////////////////////////////
if ( NT4OS || W2KOS){
char szCurrentDir[MAX_PATH];
if (GetModuleFileName(NULL, szCurrentDir, MAX_PATH))
{
char* p = strrchr(szCurrentDir, '\\');
if (p == NULL) return false;
*p = '\0';
strcat (szCurrentDir,"\\authadmin.dll");
}
HMODULE hModule = LoadLibrary(szCurrentDir);
if (hModule)
{
CheckUserGroupPassword = (CheckUserGroupPasswordFn) GetProcAddress( hModule, "CUGP" );
HRESULT hr = CoInitialize(NULL);
result=CheckUserGroupPassword(userin,password,clientname,pszgroup2,locdom2);
CoUninitialize();
FreeLibrary(hModule);
}
else MessageBox(NULL, sz_ID_AUTH_NOT_FO, sz_ID_WARNING, MB_OK);
}
if (result==1) goto accessOK;
//////////////////////////////////////////////////////////////////
if (CheckAD() && W2KOS && (locdom2==2||locdom2==3))
{
char szCurrentDir[MAX_PATH];
if (GetModuleFileName(NULL, szCurrentDir, MAX_PATH))
{
char* p = strrchr(szCurrentDir, '\\');
if (p == NULL) return false;
*p = '\0';
strcat (szCurrentDir,"\\ldapauth.dll");
}
HMODULE hModule = LoadLibrary(szCurrentDir);
if (hModule)
{
CheckUserGroupPassword = (CheckUserGroupPasswordFn) GetProcAddress( hModule, "CUGP" );
HRESULT hr = CoInitialize(NULL);
result=CheckUserGroupPassword(userin,password,clientname,pszgroup2,locdom2);
CoUninitialize();
FreeLibrary(hModule);
}
}
if (result==1) goto accessOK;
///////////////////////////////////////////////////////////////////////
if (CheckAD() && NT4OS && CheckDsGetDcNameW() && (locdom2==2||locdom2==3))
{
char szCurrentDir[MAX_PATH];
if (GetModuleFileName(NULL, szCurrentDir, MAX_PATH))
{
char* p = strrchr(szCurrentDir, '\\');
if (p == NULL) return false;
*p = '\0';
strcat (szCurrentDir,"\\ldapauthnt4.dll");
}
HMODULE hModule = LoadLibrary(szCurrentDir);
if (hModule)
{
CheckUserGroupPassword = (CheckUserGroupPasswordFn) GetProcAddress( hModule, "CUGP" );
HRESULT hr = CoInitialize(NULL);
result=CheckUserGroupPassword(userin,password,clientname,pszgroup2,locdom2);
CoUninitialize();
FreeLibrary(hModule);
}
}
if (result==1) goto accessOK;
///////////////////////////////////////////////////////////////////////
if (CheckAD() && !NT4OS && !W2KOS && (locdom2==2||locdom2==3))
{
char szCurrentDir[MAX_PATH];
if (GetModuleFileName(NULL, szCurrentDir, MAX_PATH))
{
char* p = strrchr(szCurrentDir, '\\');
if (p == NULL) return false;
*p = '\0';
strcat (szCurrentDir,"\\ldapauth9x.dll");
}
HMODULE hModule = LoadLibrary(szCurrentDir);
if (hModule)
{
CheckUserGroupPassword = (CheckUserGroupPasswordFn) GetProcAddress( hModule, "CUGP" );
HRESULT hr = CoInitialize(NULL);
result=CheckUserGroupPassword(userin,password,clientname,pszgroup2,locdom2);
CoUninitialize();
FreeLibrary(hModule);
}
}
if (result==1) goto accessOK;
}
////////////////////////////
if (strcmp(pszgroup3,"")!=NULL)
{
///////////////////////////////////////////////////
// NT4 domain and workgroups
//
///////////////////////////////////////////////////
{
char szCurrentDir[MAX_PATH];
if (GetModuleFileName(NULL, szCurrentDir, MAX_PATH))
{
char* p = strrchr(szCurrentDir, '\\');
if (p == NULL) return false;
*p = '\0';
strcat (szCurrentDir,"\\workgrpdomnt4.dll");
}
HMODULE hModule = LoadLibrary(szCurrentDir);
if (hModule)
{
CheckUserGroupPassword = (CheckUserGroupPasswordFn) GetProcAddress( hModule, "CUGP" );
HRESULT hr = CoInitialize(NULL);
result=CheckUserGroupPassword(userin,password,clientname,pszgroup3,locdom3);
CoUninitialize();
FreeLibrary(hModule);
}
else MessageBox(NULL, sz_ID_AUTH_NOT_FO, sz_ID_WARNING, MB_OK);
}
if (result==1) goto accessOK;
////////////////////////////////////////////////////////
if ( NT4OS || W2KOS){
char szCurrentDir[MAX_PATH];
if (GetModuleFileName(NULL, szCurrentDir, MAX_PATH))
{
char* p = strrchr(szCurrentDir, '\\');
if (p == NULL) return false;
*p = '\0';
strcat (szCurrentDir,"\\authadmin.dll");
}
HMODULE hModule = LoadLibrary(szCurrentDir);
if (hModule)
{
CheckUserGroupPassword = (CheckUserGroupPasswordFn) GetProcAddress( hModule, "CUGP" );
HRESULT hr = CoInitialize(NULL);
result=CheckUserGroupPassword(userin,password,clientname,pszgroup3,locdom3);
CoUninitialize();
FreeLibrary(hModule);
}
else MessageBox(NULL, sz_ID_AUTH_NOT_FO, sz_ID_WARNING, MB_OK);
}
if (result==1) goto accessOK;
////////////////////////////////////////////////////////////////
if (CheckAD() && W2KOS && (locdom3==2||locdom3==3))
{
char szCurrentDir[MAX_PATH];
if (GetModuleFileName(NULL, szCurrentDir, MAX_PATH))
{
char* p = strrchr(szCurrentDir, '\\');
if (p == NULL) return false;
*p = '\0';
strcat (szCurrentDir,"\\ldapauth.dll");
}
HMODULE hModule = LoadLibrary(szCurrentDir);
if (hModule)
{
CheckUserGroupPassword = (CheckUserGroupPasswordFn) GetProcAddress( hModule, "CUGP" );
HRESULT hr = CoInitialize(NULL);
result=CheckUserGroupPassword(userin,password,clientname,pszgroup3,locdom3);
CoUninitialize();
FreeLibrary(hModule);
}
}
if (result==1) goto accessOK;
///////////////////////////////////////////////////////////////////
if (CheckAD() && NT4OS && CheckDsGetDcNameW() && (locdom3==2||locdom3==3))
{
char szCurrentDir[MAX_PATH];
if (GetModuleFileName(NULL, szCurrentDir, MAX_PATH))
{
char* p = strrchr(szCurrentDir, '\\');
if (p == NULL) return false;
*p = '\0';
strcat (szCurrentDir,"\\ldapauthnt4.dll");
}
HMODULE hModule = LoadLibrary(szCurrentDir);
if (hModule)
{
CheckUserGroupPassword = (CheckUserGroupPasswordFn) GetProcAddress( hModule, "CUGP" );
HRESULT hr = CoInitialize(NULL);
result=CheckUserGroupPassword(userin,password,clientname,pszgroup3,locdom3);
CoUninitialize();
FreeLibrary(hModule);
}
}
if (result==1) goto accessOK2;
///////////////////////////////////////////////////////////////////
if (CheckAD() && !NT4OS && !W2KOS && (locdom3==2||locdom3==3))
{
char szCurrentDir[MAX_PATH];
if (GetModuleFileName(NULL, szCurrentDir, MAX_PATH))
{
char* p = strrchr(szCurrentDir, '\\');
if (p == NULL) return false;
*p = '\0';
strcat (szCurrentDir,"\\ldapauth9x.dll");
}
HMODULE hModule = LoadLibrary(szCurrentDir);
if (hModule)
{
CheckUserGroupPassword = (CheckUserGroupPasswordFn) GetProcAddress( hModule, "CUGP" );
HRESULT hr = CoInitialize(NULL);
result=CheckUserGroupPassword(userin,password,clientname,pszgroup3,locdom3);
CoUninitialize();
FreeLibrary(hModule);
}
}
if (result==1) goto accessOK2;
}
/////////////////////////////////////////////////
// If we reach this place auth failed
/////////////////////////////////////////////////
{
typedef BOOL (*LogeventFn)(char *machine,char *user);
LogeventFn Logevent = 0;
char szCurrentDir[MAX_PATH];
if (GetModuleFileName(NULL, szCurrentDir, MAX_PATH))
{
char* p = strrchr(szCurrentDir, '\\');
*p = '\0';
strcat (szCurrentDir,"\\logging.dll");
}
HMODULE hModule = LoadLibrary(szCurrentDir);
if (hModule)
{
Logevent = (LogeventFn) GetProcAddress( hModule, "LOGFAILEDUSER" );
Logevent((char *)clientname,userin);
FreeLibrary(hModule);
}
return result;
}
accessOK://full access
{
typedef BOOL (*LogeventFn)(char *machine,char *user);
LogeventFn Logevent = 0;
char szCurrentDir[MAX_PATH];
if (GetModuleFileName(NULL, szCurrentDir, MAX_PATH))
{
char* p = strrchr(szCurrentDir, '\\');
*p = '\0';
strcat (szCurrentDir,"\\logging.dll");
}
HMODULE hModule = LoadLibrary(szCurrentDir);
if (hModule)
{
Logevent = (LogeventFn) GetProcAddress( hModule, "LOGLOGONUSER" );
Logevent((char *)clientname,userin);
FreeLibrary(hModule);
}
return result;
}
accessOK2://readonly
{
typedef BOOL (*LogeventFn)(char *machine,char *user);
LogeventFn Logevent = 0;
char szCurrentDir[MAX_PATH];
if (GetModuleFileName(NULL, szCurrentDir, MAX_PATH))
{
char* p = strrchr(szCurrentDir, '\\');
*p = '\0';
strcat (szCurrentDir,"\\logging.dll");
}
HMODULE hModule = LoadLibrary(szCurrentDir);
if (hModule)
{
Logevent = (LogeventFn) GetProcAddress( hModule, "LOGLOGONUSER" );
Logevent((char *)clientname,userin);
FreeLibrary(hModule);
}
result=2;
}
return result;
}
// Marscha@2004 - authSSP: Is New MS-Logon activated?
BOOL IsNewMSLogon(){
HKEY hkLocal=NULL;
BOOL isNewMSLogon = FALSE;
LONG data;
ULONG type = REG_DWORD;
ULONG datasize = sizeof(data);
__try {
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
"Software\\ORL\\WinVNC3",
NULL,
KEY_QUERY_VALUE,
&hkLocal) != ERROR_SUCCESS)
__leave;
if (RegQueryValueEx(hkLocal,
"NewMSLogon",
NULL,
&type,
(LPBYTE) &data,
&datasize) != ERROR_SUCCESS)
__leave;
if (type != REG_DWORD ||
datasize != sizeof(data))
__leave;
isNewMSLogon = data;
} __finally {
if (hkLocal != NULL) RegCloseKey(hkLocal);
}
return isNewMSLogon;
}
/*
char *AddToModuleDir(char *filename, int length){
char *szCurrentDir = new char[length];
if (GetModuleFileName(NULL, szCurrentDir, length))
{
char *p = strrchr(szCurrentDir, '\\');
*p = '\0';
strcat(szCurrentDir,"\\");
strcat(szCurrentDir, filename);
}
strcpy(filename, szCurrentDir);
delete szCurrentDir;
return filename;
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -