19 сентября 2011 г.

Модификация антивируса ESET NOD 32: обновление без запроса лицензионных ключей.

Модификация антивируса ESET NOD 32: обновление без запроса лицензионных ключей.
На одном из Интернет-ресурсов недавно был представлен способ модификации известного антивируса ESET NOD 32 (его 3 и 4 серий). Цель модификации - получение версии антивируса, не требующего для полноценного функционирования (для обновления вирусных сигнатур) использования лицензионного ключа. Для совершения данной модификации требуется скачать архив (ссылка на скачивание архива).В архиве помимо необходимых для модификации файлов имеется инструкция следующего содержания:
  1. Скачать архив NOD_32_Modification.rar и распаковать.
  2. Установить ESET NOD32 или ESS (подходит 3.0 или 4.0 версии), если он ещё не установлен.
  3. Перезагрузить компьютер и запустить систему в безопасном режиме (для этого нажимать клавишу F8 до начала загрузки ОС).
  4. Открыть папку NOD32ESS_x86 и запустить NOD32ESS_x86.bat для 32-разрядной ОС (XP, Vista, 7) или открыть папку NOD32ESS_x64 и запустить NOD32ESS_x64.bat для 64-разрядной ОС (XP, Vista, 7).
  5. Перезагрузить компьютер и запустить в обычном режиме. Теперь ESET NOD 32 обновляется без ввода данных лицензионного ключа.
  6. Для удаления NOD32 или ESS необходимо вначале запустить NOD32ESS_x86uni.bat или NOD32ESS_x64uni.bat в зависимости от разрядности ОС.
В архиве есть также две папки: x86 и x64, то есть для модификации NOD 32 в 32-разрядной версии Windows и 64-разрядной версии Windows соответственно. В папке x86 находятся папки NOD32ESS_x86 и NOD32ESS_x86uni, в папке x64 находятся папки NOD32ESS_x64 и NOD32ESS_x64uni. В папке NOD32ESS_x86 находятся файл реестра Windows Fix.reg и пакетный файл Windows NOD32ESS_x64. В папке NOD32ESS_x86uni - файл NOD32ESS_x64uni. Также в двух перечисленных ранее папках присутствует исполняемый файл утилиты SetACL. Аналогичное содержимое имеют папки в x64, с тем лишь отличием, что вместо 86 в названиях присутствует 64.
При следовании инструкции, представленной выше пользователь, действительно, получает "вечный" NOD 32, то есть версию антивируса, не требующую лицензионного ключа для своей полноценной работы.

Ниже в подробностях будет рассмотрен процесс такой модификации. Поскольку принципы осуществления модификации для 32-разрядной и 64 разрядной версии Windows идентичны, будет произведено рассмотрение процесса модификации для 32-разрядной версии ОС.
Первым делом при модификации пользователю предлагается выполнить сценарий пакетного файла NOD32ESS_x86.bat. Сценарий, находящийся в этом файле, следующий:
echo off
regedit /s Fix.reg
SetACL.exe -on "hklm\SOFTWARE\ESET\ESET Security\CurrentVersion\Info"  -ot reg -actn ace -ace "n:System;p:set_val;m:deny"
exit

  • echo off отключает отображение информации, которая выводилась бы на экран  в командной строке в процессе выполнения сценария.
  • regedit /s Fix.reg вносит в системный реестр Windows данные из файла реестра Fix.reg, при этом используется ключ /s для "тихого" (s от английского silent - тихий) помещения данных, то есть без вывода окна с вопросом о подтверждении операции.
  • SetACL.exe -on "hklm\SOFTWARE\ESET\ESET Security\CurrentVersion\Info"  -ot reg -actn ace -ace "n:System;p:set_val;m:deny".  Эта строка открывает полный доступ ( все права, в том числе редактирование, удаление и т.п.) к разделу системного реестра Windows hklm\SOFTWARE\ESET\ESET Security\CurrentVersion\Info, снимая тем самым ограничение на запись и перезапись файлов (ключей) реестра в этом разделе. Работает это следующим образом. Вызывается утилита SetACL (подробное описание на сайте разработчика). -on "hklm\SOFTWARE\ESET\ESET Security\CurrentVersion\Info" задаёт объект (в данном случае - раздел), над которым будут производится операции. Здесь -on - ключ, а строка, заключённая в кавычки - путь к разделу. -ot reg - задаёт тип объекта, над которым будут производится операции. Здесь -ot - ключ, а reg - тип объекта (в данном случае - реестр). -actn ace "n:System;p:set_val;m:deny" определяет тип совершаемого действия (actn от английского action - действие) и параметры. Здесь -actn - ключ, а ace -  тип действия (в данном случае - контроль доступа к записи данных (ace от английского access control entries (ACEs) - контроль доступа к записям)). В кавычки заключены параметры доступа:  n:System  - (n от английского name - имя) кому разрешён доступ (в данном случае - системе), p:set_val - (p от английского permission - разрешение) параметр разрешения (в данном случае - установка некоторого значения (set_val от английского Set Value - установить значение)), m:deny - (m от английского mode - режим) установка режима доступа (в данном случае - отказ в установке разрешений, то есть доступ без разрешений (deny от английского deny - отказ)).
  • exit. Эта строка завершает выполнение сценария.

Таким образом, сценарий, описанный выше, лишь открывает файлу Fix.reg полную свободу действий в разделе системного реестра hklm\SOFTWARE\ESET\ESET Security\CurrentVersion\Info.  То, что непосредственно осуществляет цель модификации находится в самом файле Fix.reg.
Ниже представлено содержание этого файла.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Info]
"PackageTag"=dword:00000000
"ScannerVersionId"=dword:00000000
"ScannerVersion"="latest"
[HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Plugins\01000400\Profiles\@My profile]
"SelectedServer"="AUTOSELECT"
[HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Plugins\01000400\Settings]
"FailSafeServer"="http://update.eset.com/eset_eval/"
"DefaultServer0"="http://u21.eset.com/eset_eval/"
"DefaultServerWeight0"=dword:00000014
"DefaultServer1"="http://u24.eset.com/eset_eval/"
"DefaultServerWeight1"=dword:00000014
"DefaultServer2"="http://89.202.157.135/eset_eval/"
"DefaultServerWeight2"=dword:00000014
"DefaultServer3"="http://89.202.157.136/eset_eval/"
"DefaultServerWeight3"=dword:00000014
"DefaultServer4"="http://89.202.157.137/eset_eval/"
"DefaultServerWeight4"=dword:00000014
"DefaultServer5"="http://89.202.157.139/eset_eval/"
"DefaultServerWeight5"=dword:00000014
"DefaultServer6"="http://u30.eset.com/eset_eval/"
"DefaultServerWeight6"=dword:00000014
"DefaultServer7"="http://u31.eset.com/eset_eval/"
"DefaultServerWeight7"=dword:00000014
"DefaultServer8"="http://u32.eset.com/eset_eval/"
"DefaultServerWeight8"=dword:00000014
"DefaultServer9"="http://u33.eset.com/eset_eval/"
"DefaultServerWeight9"=dword:00000014
"DefaultServer10"="http://u34.eset.com/eset_eval/"
"DefaultServerWeight10"=dword:00000014
"DefaultServer11"="http://u35.eset.com/eset_eval/"
"DefaultServerWeight11"=dword:00000014
"DefaultServer12"="http://u36.eset.com/eset_eval/"
"DefaultServerWeight12"=dword:00000014
"DefaultServer13"="http://u37.eset.com/eset_eval/"
"DefaultServerWeight13"=dword:00000014
"DefaultServer14"="http://u38.eset.com/eset_eval/"
"DefaultServerWeight14"=dword:00000014
"DefaultServer15"="http://u39.eset.com/eset_eval/"
"DefaultServerWeight15"=dword:00000014
"DefaultServer16"="http://u40.eset.com/eset_eval/"
"DefaultServerWeight16"=dword:00000014
"DefaultServer17"="http://u41.eset.com/eset_eval/"
"DefaultServerWeight17"=dword:00000014
"DefaultServer18"="http://u42.eset.com/eset_eval/"
"DefaultServerWeight18"=dword:00000014
"DefaultServer19"="http://u43.eset.com/eset_eval/"
"DefaultServerWeight19"=dword:00000014
"DefaultServer20"="http://u44.eset.com/eset_eval/"
"DefaultServerWeight20"=dword:00000014
"DefaultServer21"="http://u45.eset.com/eset_eval/"
"DefaultServerWeight21"=dword:00000014
"DefaultServer22"="http://u46.eset.com/eset_eval/"
"DefaultServerWeight22"=dword:00000014
"DefaultServer23"="http://u47.eset.com/eset_eval/"
"DefaultServerWeight23"=dword:00000014
"DefaultServer24"="http://u48.eset.com/eset_eval/"
"DefaultServerWeight24"=dword:00000014
"DefaultServer25"="http://u49.eset.com/eset_eval/"
"DefaultServerWeight25"=dword:00000014
"DefaultServer26"="http://u50.eset.com/eset_eval/"
"DefaultServerWeight26"=dword:00000014
"DefaultServer27"="http://u51.eset.com/eset_eval/"
"DefaultServerWeight27"=dword:00000014
"DefaultServer28"="http://u52.eset.com/eset_eval/"
"DefaultServerWeight28"=dword:00000014
"DefaultServer29"="http://u53.eset.com/eset_eval/"
"DefaultServerWeight29"=dword:00000014
"DefaultServer30"="http://u54.eset.com/eset_eval/"
"DefaultServerWeight30"=dword:00000014
"DefaultServer31"="http://u55.eset.com/eset_eval/"
"DefaultServerWeight31"=dword:00000014
"DefaultServer32"="http://u56.eset.com/eset_eval/"
"DefaultServerWeight32"=dword:00000014
"DefaultServer33"="http://u57.eset.com/eset_eval/"
"DefaultServerWeight33"=dword:00000014
"DefaultServer34"="http://u58.eset.com/eset_eval/"
"DefaultServerWeight34"=dword:00000014
"DefaultServer35"="http://u59.eset.com/eset_eval/"
"DefaultServerWeight35"=dword:00000014
"DefaultServer36"="http://um10.eset.com/eset_eval/"
"DefaultServerWeight36"=dword:000000c8
"DefaultServerCount"=dword:00000025

Первым делом изменяется необходимая информация в разделе HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Info (Рисунок 1).  Обнуляются значения параметров PackageTag и ScannerVersionId. То есть тег упаковки текущей версии и версия вирусных сигнатур принимают нулевое значение. При этом параметр ScannerVersion принимает значение "latest". Это необходимо для того, чтобы при попытке совершить обновление вирусных сигнатур серверу передавалась информация о том, что нужно получить последнюю версию этих сигнатур.

Рисунок 1.
В разделе HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Info подчёркнуты параметры, значения которых изменяются.

Следующим шагом в раздел  HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Plugins\01000400\Profiles\@My profile добавляется параметр SelectedServer со значением "latest" (Рисунок 2). Это необходимо для того, чтобы сервер, с которого будут загружаться обновления вирусных сигнатур, выбирался автоматически.

Рисунок 2.
Раздел HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Plugins\01000400\Profiles\@My profile.

Затем в разделе HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Plugins\01000400\Settings изменяются адреса и типы серверов, с которых производится обновление вирусных сигнатур, увеличивается их количество (Рисунок 3). Здесь стоит отметить, что изначально (до описываемой модификации) адреса серверов выглядят следующим образом: http://umN.eset.com/eset_upd,  где N - некоторое (как правило, двузначное) число, или http://a.b.c.d/eset_upd , где a.b.c.d - IP-адрес сервера. Модификация меняет некоторые названия и добавляет свои таким образом, что eset_upd заменяется на eset_eval. При загрузке обновлений вирусных сигнатур из директории eset_eval сервера с обновлениями не проверяются данные лицензионного ключа.

Рисунок 3.
Раздел  HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Plugins\01000400\Settings.

После модификации антивирус ESET NOD 32 обновляет свои вирусные сигнатуры без запроса данных лицензионного ключа.

Содержимое файла NOD32ESS_x86uni.bat, необходимого для полноценного удаления антивируса ESET NOD 32 выглядит следующим образом:
echo off
SetACL.exe -on "hklm\SOFTWARE\ESET\ESET Security\CurrentVersion\Info"  -ot reg -actn clear -clr dacl,sacl
exit
Строки echo off и exit были рассмотрены ранее. Строка SetACL.exe -on "hklm\SOFTWARE\ESET\ESET Security\CurrentVersion\Info"  -ot reg -actn clear -clr dacl,sacl выполняет действия по принципу, уже описанному ранее. В данном случае отличие в параметрах ключа  -actn: здесь он имеет значение clear (от английского clear - чистить) и в наличии ключа -clr с параметрами dacl,sacl. Этот ключ очищает списки управления доступом: список избирательного управления доступом (dacl (описание DACL на сайте wikipedia.org), от английского Discretionary Access Control List - список избирательного управления доступом) и список управления доступом к объектам Microsoft Windows (sacl (описание SACL на сайте wikipedia.org), от английского System Access Control List - системный список управления доступом).

Таким образом, данная модификация открывает права доступа к защищённым разделам системного реестра Windows, отведённым для NOD 32 и изменяет в них данные так, что для обновления вирусных сигнатур не требуются данные лицензионного ключа.

Комментариев нет:

Отправить комментарий