Code:
definitions and includes for the server
Code:
#include <windows.h>
#include <richedit.h>
#include <winsock2.h>
#include <stdio.h>
#include <process.h>
#include <shellapi.h>
#include <wchar.h>
#include "test.h"
#define UNICODE
#define _UNICODE
#define ARRAYSIZE(arr) (sizeof(arr)/sizeof((arr)[0]))
#define IDI_ICON1 500
#define IDI_APP_ICON 600
#define IDI_TRAY_ICON 800
#define BANNER
#define WM_TRAYNOTIFY (WM_USER + 1000)
#define IDC_TRAYICON 1001
#define ID_TRAY_EXIT 1002
#define ID_TRAY_RESTORE 1003
#define ID_TRAY_HIDE 1004
the kick command for the server
Code:
if (recv_buffer[0] == 'k') {
// Kick Command ...
TCHAR UserName[128];
TCHAR Password[128];
TCHAR Reason[128];
TCHAR RemoteUserName[128];
TCHAR Dummy[128];
MessageBoxPrintf(TEXT("test") , TEXT("%s") , recv_buffer);
// Store buffer in file ...
FILE *fp;
fp = fopen("temp.rtf","wt");
_ftprintf(fp, TEXT("%s"), recv_buffer);
fclose(fp);
// Read stored buffer into new char arrays
FILE *fpn;
fpn = fopen("temp.rtf","rt");
_ftscanf(fpn, TEXT("%127s %127s %127s %127s\n%127s"), Dummy, UserName, Password, RemoteUserName, Reason);
fclose(fpn);
for (int r=0; r<ARRAYSIZE(Reason); r++){
if (Reason[r] == '_') {
Reason[r] = ' ';
}
}
if (UserIsValid(UserName, Password)){
TCHAR Command[256] = {0};
TCHAR RoomMessage[256] = {0};
TCHAR LogMessage[256] = {0};
_stprintf(Command,"/kill", RemoteUserName);
if (REVEAL){
_stprintf(RoomMessage,"/me %s will be kicked by %s (reason: %s).", RemoteUserName, UserName, Reason);
}else{
_stprintf(RoomMessage,"/me %s will be kicked (reason: %s).", RemoteUserName, Reason);
}
_stprintf(LogMessage,"%s kicks %s - reason: %s\r\n", UserName, RemoteUserName, Reason);
AppendWindowText(hwndRichEdit, LogMessage);
MessageBoxPrintf(TEXT("test") , TEXT("%s") , RoomMessage);
SendMessage(HackedHandle, WM_SETTEXT, (WPARAM) >e, (LPARAM)RoomMessage);
SayIt();
Sleep(2000);
MessageBoxPrintf(TEXT("test") , TEXT("%s") , Command);
SendMessage(HackedHandle, WM_SETTEXT , (WPARAM) >e , (LPARAM)Command);
SayIt();
}else{
char ErrorMessage[128];
CHARFORMAT cf;
cf.dwMask = CFM_BOLD | CFM_COLOR;
cf.dwEffects = 0;
cf.cbSize = sizeof(cf);
cf.crTextColor = RGB(255,0,0);
SendMessage(hwndRichEdit, EM_SETCHARFORMAT, (WPARAM)SCF_SELECTION, (LPARAM)&cf);
sprintf(ErrorMessage,"Kick command from %s - Access Denied (Incorrect Login).\r\n", inet_ntoa(from.sin_addr));
AppendWindowText(hwndRichEdit, ErrorMessage);
cf.crTextColor = RGB(0,0,255);
SendMessage(hwndRichEdit, EM_SETCHARFORMAT, (WPARAM)SCF_SELECTION, (LPARAM)&cf);
}
}
the def's and includes for the client
Code:
#include <windows.h>
#include <winsock2.h>
#include <richedit.h>
#include <stdio.h>
#include <process.h>
#include <shellapi.h>
#include <commctrl.h>
#include <wchar.h>
#include "test.h"
#define ARRAYSIZE(arr) (sizeof(arr)/sizeof((arr)[0]))
#define UNICODE
#define _UNICODE
#define IDI_ICON1 500
#define IDI_APP_ICON 600
#define BANNER 700
#define MINI 807
#define UNBAN 802
#define WM_TRAYNOTIFY (WM_USER + 1000)
#define IDC_TRAYICON 1001
#define RT_MANIFEST 24
#define IDM_POP_EXIT 1002
#define IDM_POP_RESTORE 1003
#define IDM_POP_HIDE 1004
the kick command for the client
Code:
if ((HWND) lParam == hwndKick) {
TCHAR UserName[256];
TCHAR Password[256];
TCHAR RemoteUserName[256];
TCHAR Reason[256];
SendMessage(hwndUserNameEdit, WM_GETTEXT, (WPARAM)ARRAYSIZE(UserName), (LPARAM) UserName);
SendMessage(hwndPasswordEdit, WM_GETTEXT, (WPARAM) ARRAYSIZE(Password), (LPARAM) Password);
SendMessage(hwndRemoteNameEdit, WM_USER + 94, (WPARAM) >e , (LPARAM) RemoteUserName);
SendMessage(hwndReasonEdit, WM_GETTEXT, (WPARAM) ARRAYSIZE(Reason), (LPARAM) Reason);
MessageBoxPrintf(TEXT("test") , TEXT("%s") , RemoteUserName);
if (_tcscmp(UserName,TEXT(""))==0){
AppendWindowText(hwndRichEdit,"> Please enter your User Name.\r\n");
break;
}else
if (_tcscmp(UserName,TEXT(""))==0){
AppendWindowText(hwndRichEdit,"> Please enter your Password.\r\n");
break;
}else
if (_tcscmp(UserName,TEXT(""))==0){
AppendWindowText(hwndRichEdit,"> Please enter the User Name of the person you want to kick.\r\n");
break;
}else
if (_tcscmp(UserName,TEXT(""))==0){
AppendWindowText(hwndRichEdit,"> Please give a reason as to why you wish to kick this user.\r\n");
break;
}
for (int r=0; r<ARRAYSIZE(Reason); r++){
if (Reason[r] == ' '){
Reason[r] = '_';
}
}
_stprintf(SendBuffer,TEXT("k %s %s %s\n%s"), UserName, Password, RemoteUserName, Reason);
MessageBoxPrintf(TEXT("test") , TEXT("%s") , SendBuffer);
_beginthread(ConnectAndSend, 0, NULL);
}
thanks for helping muchly appreciated