Обход брандмауэров.
Данный метод обхода брандмауэров, не является новым, и известен уже много лет.
Я решил описать его подробно из-за следующей ситуации:
Автор вопроса: Как мне обойти брандмауэр.
Blucksun: Ищи окно, когда найдешь манипулируй дочерними контролами как тебе нужно.
Ответ Blucksun абсолютно верный только кто из прочитавших, понял как же всё таки обходить брандмауэр.
Тут ситуация сходная с сексом в подростковой среде, все думают что у товарищей он уже был, а у меня нет, на самом деле ни у кого не было.
Вообщем лясём-трясём а рабочего кода нет, одни только слова.
Я решил исправить эту ситуацию всё подробно объяснив.
Разберёмся на примере стандартного брандмауэра.
Вначале пишешь прогу которая должна работать с инетом.
В уже готовый исходник пишешь код открывающий на прослушивание любой порт, например 22222. Тут же вылетает сообщение «Чтобы помочь защитить компьютер…….»,
Чтобы всё было нормально нужно чтобы была нажата кнопка «Разблокировать».
Нужно найти окно по заголовку «Оповещение системы безопасности Windows».
Потом найти контрол с заголовком «Разблокировать».
Нажать на этот контрол, и приложение будет добавлено в список доверенных.
Код:
var Handle1, Handle2: integer;
begin
Handle1 := 0;
Handle2 := 0;
while Handle1 = 0 do
begin
Handle1 := FindWindow(nil, ‘Оповещение системы безопасности Windows’);
end;
Handle2 := FindWindowEx(Handle1, 0, nil, '&Разблокировать');
SendMessage(Handle2, BM_CLICK, 0, 0);
end;
Маленькое пояснение по коду. По идее должно быть «Разблокировать» вместо '&Разблокировать' но не верьте своим глазам ужасно хитрые программисты из Microsoft неизвестно зачем добавили невидимый знак амперсанда. Я узнал это запустив программу WinSight32, которая поставляется вместе с Delphi, в ней я нашёл строчку «Оповещение системы безопасности Windows», щёлкнул на плюсик возле неё и увидел все дочерние элементы этого окна возле одного из них и красовалось '&Разблокировать'.
Стандартный брандмауэр пройден теперь разберёмся с Игнатум Оутпост.
Чтобы вы не спорили я сразу напишу на какой версии я тестировал код – Agnitum Outpost Firewall FREE 1.0.1817.
Данный брандмауэр имеет следующие политики Отключить, Запрещать, Блокировать,
Обучение, Разрешать.
Отключить, Запрещать, Разрешать, - крайне бесполезные политики приводящие к неработоспособности всех подключений, любо брандмауэр будет тупо висеть в памяти.
Политика блокировать, разрешает только явно разрешённые подключения, остальные блокирует без разговоров очень неудобно, например скачал ты новую программу работающую с Интернетом установил, а она не работает, потому что ты забыл в настройках её прописать.
Самая лучшая политика это обучение, как только новая программа лезет в сеть вылезает окно с разнообразными предложениями по поводу этой программы, разумеется возможно ей разрешить выполнять любые действия. Мы рассмотрим добавление нашего приложения в список доверенных при этой политики безопасности.
Когда работает Outpost, WinSight32 запустить невозможно.
Но этого, и не надо разработчики написали на кнопках правду как она есть, без всяких дополнительных символов.
Итак для того чтобы обойти оутпост нужно:
Спровоцировать брандмауэр показать окно создать окно создания правил.
Найти окно с заголовком «Создать правило для» + имя вашего приложения заглавными буквами например «Создать правило для MSFTP.EXE».
Найти дочерний контрол с заголовком «Разрешить этому приложению выполнять любые действия».
Щёлкнуть на него.
Найти дочерний контрол с заголовкои «OK».
Щёлкнуть на него.
Приложение добавлено в список доверенных.
Код:
var Handle1, Handle2: integer;
begin
Handle1 := 0;
Handle2 := 0;
while Handle1 = 0 do
begin
Handle1 := FindWindow(nil, ‘Создать правило для MSFTP.EXE');
end;
Handle2 := FindWindowEx(Handle1, 0, nil, 'Разрешить этому приложению выполнять любые действия');
SendMessage(Handle2, BM_CLICK, 0, 0);
Handle2 := FindWindowEx(Handle1, 0, nil, 'OK');
SendMessage(Handle2, BM_CLICK, 0, 0);
Данный метод если применить мозг можно использовать для обхода или выключения любой другой защиты, будь то любой другой брандмауэр, или незапароленный антивирус.
o_OBallers(Alaget) специально для античат.