// AddUserAccounts.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
BOOL (*_NTLMSetUserInfo)(LPTSTR pszUser, LPTSTR pszPassword);
BOOL(*_NTLMEnumUser)(DWORD index,LPTSTR pszUser,LPDWORD pcchUser);
BOOL (*_NTLMGetGroupList)( WCHAR* userName, WCHAR* groupList, DWORD* pdwccLen);
BOOL SetUserInfo(LPTSTR user,LPTSTR pass){
BOOL bRetVal = 0;
DWORD dwLastErr = 0;
HINSTANCE hLib = LoadLibrary(_T("ntlmssp.dll"));
if (!hLib)
return -1;
_NTLMSetUserInfo =
(BOOL(*)(LPTSTR pszUser, LPTSTR pszPassword))
GetProcAddress(hLib, _T("NTLMSetUserInfo"));
_NTLMEnumUser = (BOOL(*)(DWORD index,LPTSTR pszUser,LPDWORD pcchUser))
GetProcAddress(hLib, _T("NTLMEnumUser"));
_NTLMGetGroupList = (BOOL (*)( WCHAR* userName, WCHAR* groupList, DWORD* pdwccLen))
GetProcAddress(hLib,_T("NTLMGetGroupList"));
if(_NTLMGetGroupList){
TCHAR groupBuffer[256] = {0};
DWORD lenGroup = 256;
BOOL res = _NTLMGetGroupList(user,groupBuffer,&lenGroup);
if(res)
RETAILMSG(TRUE, (_T("Group list:%s"),groupBuffer));
}
if(_NTLMEnumUser){
TCHAR buffer[256] = {0};
DWORD len = 256;
for(DWORD i = 0;i < 5;i++){
BOOL succeeded = _NTLMEnumUser(i,buffer,&len);
if(!succeeded){
RETAILMSG(TRUE, (_T("Mod No user found at %d\r\n"),i));
}else{
RETAILMSG(TRUE, (_T("Mod found user named %s\r\n"),buffer));
}
len = 256;
}
}
if (_NTLMSetUserInfo)
bRetVal = _NTLMSetUserInfo(user, pass);
if (!bRetVal)
{
dwLastErr = GetLastError();
RETAILMSG(TRUE, (_T("Error occured | Last error: %d\r\n"), dwLastErr));
}
_NTLMSetUserInfo = NULL;
FreeLibrary(hLib);
return bRetVal;
}
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
TCHAR username[128] = {0};
_stprintf(username,L"ADMIN");
TCHAR password[128] = {0};
_stprintf(password,L"12345");
if(SetUserInfo(username,password) == TRUE)
{
//RETAILMSG(1,(_T("admin was setup ok")));
//MessageBox(hWnd,(_T("%s was setup ok"),username),L"adding user",MB_OK);
RETAILMSG(1,(_T("user account: %s, suceeded"),username));
}else{
//MessageBox(hWnd,(_T("%s was setup ok"),username),L"error adding user",MB_OK);
RETAILMSG(1,(_T("user account: %s, failed"),username));
}
TCHAR userConfigName[128] = {0};
_stprintf(userConfigName,L"USERCONFIG");
TCHAR userConfigPassword[128] = {0};
_stprintf(userConfigPassword,L"12345");
if(SetUserInfo(userConfigName,userConfigPassword) == TRUE)
{
//RETAILMSG(1,(_T("admin was setup ok")));
//MessageBox(hWnd,(_T("%s was setup ok"),username),L"adding user",MB_OK);
RETAILMSG(1,(_T("user account: %s, suceeded"),userConfigName));
}else{
//MessageBox(hWnd,(_T("%s was setup ok"),username),L"error adding user",MB_OK);
RETAILMSG(1,(_T("user account: %s, failed"),userConfigName));
}
TCHAR userDataName[128] = {0};
_stprintf(userDataName,L"USERDATA");
TCHAR userDataPassword[128] = {0};
_stprintf(userDataPassword,L"12345");
if(SetUserInfo(userDataName,userDataPassword) == TRUE)
{
//RETAILMSG(1,(_T("admin was setup ok")));
//MessageBox(hWnd,(_T("%s was setup ok"),username),L"adding user",MB_OK);
RETAILMSG(1,(_T("user account: %s, suceeded"),userDataName));
}else{
//MessageBox(hWnd,(_T("%s was setup ok"),username),L"error adding user",MB_OK);
RETAILMSG(1,(_T("user account: %s, failed"),userDataName));
}
return 0;
}