Virus.Induc.Win32.1
Virus. Induc.Win32.1-концептуальний вірус, що інфікує програми на Delphi на стадії компіляції.
Методи поширення
Даний вірус є концептуальним, оскільки використовує методику ррозмноження,що сильно відрізняється від звичайних файлових вірусів. Він поширюється, інфікуючи програми Delphi на стадії компіляції. Поширенню вірусу сприяло те, що він більше року залишався невідомим і інфікував багато популярних програм написаних на Delphi - таких як QIP, AIMP і т.п.
Технічні особливості
При запуску зараженої програми, вірус шукає на комп'ютері встановлені версії середовища розробки програм Delphi. Для цього перевіряється наявність ключа реєстру
[HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Delphi\]
Вірус інфікує версії Delphi 4.0, 5.0, 6.0, 7.0.
Якщо вірус виявляє, що Delphi встановлено, він робить копію файлу <%DELPHI_RootDir%>\lib\SysConst.dcu, зберігаючи його під іменем <%DELPHI_RootDir%>\lib\SysConst.bak. Вірус копіює файл SysConst.pas з каталогу <%DELPHI_RootDir%>\source\rtl\sys в каталог <%DELPHI_RootDir%>\lib, відкриває файл SysConst.pas дописує в секцію implementation свій код і компілює його у файл SysConst.dcu, за допомогою компілятора Delphi dcc32.exe. У результаті цього створюється новий файл SysConst.dcu, який містить вірусний код. Заражений SysConst.pas більше не використовується, і вірус його видаляє.
SysConst - це файл базових констант Delphi, що автоматично додається в секцію initialization при компіляції програми. Код, розташований в секції initialization, автоматично виконується перед запуском будь-якого іншого коду модуля.
Таким чином, будь-яка програма на Delphi, яка буде скомпільована на цьому комп'ютері, буде інфікована.
Тіло вірусу в програмі може розташовуватися в довільному місці - в залежності від програми і від того куди її помістив компілятор.
Деструктивні можливості
Крім інфікування програм написаних на Delphi вірус не містить шкідливих функцій. Але через помилки в коді вірусу може викликати помилку Run-Time Error 3 (у разі якщо залишився ключ реєстру HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Delphi\) але сам Delphi вже був видалений або встановлена більш нова версія.
рекомендації з видалення
Якщо ви використовуєте Delphi 4 - 7, то необхідно перевірити, чи не інфіковані вони. Перевірте папку <%DELPHI_RootDir%\lib\>, якщо там присутній файл SysConst.bak, відкрийте SysConst.dcu, і пошукайте в ньому рядок closefile (f2);, якщо рядок знайдений, то ваш Delphi інфікован.
Для лікування потрібно видалити файл SysConst.dcu, і скопіювати на його місце SysConst.bak (SysConst.bak -> SysConst.dcu).