На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
Страницы: (7) « Первая ... 5 6 [7]  все  ( Перейти к последнему сообщению )  
> Delphi-“вирус”: проверьте свою установленную Delphi!, Д4-Д7
    Каспер показывает, что все приложения заражены Virus.Win32.Induc.a... что это за лажа. Сканировка каталога delphi не дала никаких результатов
      http://gunsmoker.blogspot.com/2009/08/viruswin32induca.html
      Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
        CodeMonkey у меня ссылки не открываются (доступ в интернет урезан по максимуму, дальше этого форума не могу выйти), если не тяжко - выложи текст здесь
        Сообщение отредактировано: shadow_tls -
          Краткая вырезка со ссылки:

          Цитата
          FAQ для программистов.

          Q: Проклятый [имя-антивируса] начал ругаться на все мои программы! Говорит: в них Virus.Win32.Induc.a. Параноидальный какой, надо отправить разработчикам с пометкой false-positive, а то работать невозможно.

          A: Поздравляю, дорогой коллега, вы попались. Это не ложное срабатывание, а действительно инфекция. Вы и все ваши программы заражены.

          Q: Что это за вирус?

          A: Так называемый “Compile-a-virus” (“Скомпилируй-вирус”) или Virus.Win32.Induc.a.

          Q: Какие версии Delphi подвержены этому вирусу?

          A: Delphi версий с 4 по 7 включительно.

          Q: Какие версии Delphi НЕ инфицируются этим вирусом?

          A: Новые версии, начиная с Delphi 2005: 2005, 2006, 2007, 2009, включая 2010, а также Delphi Prism.

          Q: Разносят ли вирус Delphi IDE или язык Delphi?

          A: Нет, те версии Delphi, которые уязвимы для атаки, не поставляются вместе с вирусом. Вы получаете его, когда запускаете инфицированный exe или DLL файл на своей машине.

          Q: Что делает вирус?

          A: Вирус ничего не делает Delphi-ям версии выше, чем 7. Если машина заражена, то вирус не делает ничего плохого, кроме размножения.

          Вирус встраивает себя в установленную Delphi версии 4, 5, 6 или 7. Потом, когда заражённая Delphi компилирует exe или DLL, то вирус автоматически появляется в результирующем модуле. Когда этот модуль запускается, то код вируса ищет установленные Delphi версий с 4 по 7 и встраивает себя во все установки, которые он найдёт. Тогда эти Delphi станут производить заражённые программы, которые снова будут искать Delphi для размножения и так далее.

          Когда вирус находит подходящую Delphi для заражения, он ищет файл SysConst.pas. Он копирует файл во временную копию, добавляет в него свой код, компилирует модуль и заменяет дистрибутивный SysConst.dcu этой новой инфицированной версией. Затем временная копия SysConst.pas удаляется (вирус не модифицирует никаких pas-файлов на вашей системе). Вставляемый в SysConst.pas код просто запускает процедуру размножения вируса.

          Q: А как мне определить, не заражён ли я?

          A: Если нет анти-вируса или он молчит – отправьте файл sysconst.dcu на бесплатный сервис VirusTotal.

          Q: Как узнать, есть ли на моей машине инфицированные программы, распространяющие этот вирус?

          A: Запустите полное сканирование анти-вирусом, умеющим распознавать эту бяку (сверьтесь по результатам того же VirusTotal). Не забудьте обновить базы анти-вируса. Если не хотите ставить анти-вирус – воспользуйтесь online проверкой у Касперского.

          Q: У меня вирус :( Откуда он взялся?

          A: Если у вас есть вирус, то вы получили его, запустив на своей машине инфицированный exe или DLL. Delphi довольно популярная среда разработки, особенно среди ISV и MicroISV разработчиков. Если на вашу машину попал заражённый файл, он мог попасть или при скачивании программы или от ваших Delphi-коллег.

          Q: Что означает для меня заражение?

          A: Все компилируемые вами программы будут заражены. На любой машине с не защищёнными Delphi ваши программы будут заражать эти Delphi.

          Q: Я уже отправил заражённые программы заказчику/выложил на сайте. Что делать?

          A: Удалить вирус с машины и пересобрать все проекты. Опубликовать/разослать обновления. Говорить прямым текстом про вирус или нет – ваше дело. Можно сказать просто (как авторы квипа): “была исправлена ошибка с вылетом программы” (это про runtime error 3). Не прикопаешься. Вроде и правда, но вроде и не вся. Конечно, по-честному лучше бы оповестить о вирусе (да, можно дать ссылку на этот блог ;) ) и порекомендовать просканировать анти-вирусом со свежими базами. Но это ваш выбор. Лично я голосую за честное предупреждение.

          Q: Как лечиться?

          A: Рекомендую поставить один из анти-вирусов, который умеет обнаруживать эту заразу. Если не хотите ставить – воспользуйтесь online проверкой у Касперского. Все найденные файлы излечить, а если это невозможно – удалить и пересобрать/скачать новые версии без вируса. Файл sysconst.dcu надлежит скопировать с дистрибутивного диска (в старых версиях Delphi файлы лежали “как-есть”, без упаковки в архивы).

          Q: Как удалить вирус из уже скомпилированных программ?

          A: Ну, ваш анти-вирус может попытаться вылечить файл, но это не всегда помогает (например, при изменении файла начинает проваливаться проверка целостности). Самый надёжный способ: очистить систему и пересобрать все проекты.

          Q: Как предотвратить заражение?

          A: Единственный надёжный способ: следить за папкой \Lib и \Source. Если в вашем анти-вирусе есть функция “эти-файлы-никогда-не-должы-меняться” – добавляйте в неё на слежение папки \Lib и \Source (а лучше – всю папку Delphi сразу). Если нет анти-вируса, то как вариант, можно загнать все файлы в какую-нибудь систему контроля версий или хотя бы сделать бекап и проверять на отличия перед сборкой финальных релизов. Ну, напишите хотя бы программку по сверке файлов. Программист вы, в конце концов или нет? Кроме того, я уверен, что есть и сторонние программы подобного плана – надо только поискать. К примеру, это сделанный в стиле утилит от дяди Нортона AdInf или IDSMonitor. Embarcadero рекомендует сделать бекап и использовать сравнивалки каталогов типа Free FileSync.

          Примечание: ранее были советы типа создания sysconst.bak файла. Надо понимать, что это направлено против одного конкретного вируса. Сейчас это уже не имеет смысла, т.к. сигнатура вируса сидит в базах анти-вирусов – они и так его поймают. А защищаться сейчас нужно от модификаций/клонов этого вируса. И сделать это можно только контролем папок Delphi.

          Q: Поражает ли вирус пакеты Delphi?

          A: Это возможно, но бывает очень редко. По-умолчанию – нет. Это может быть только если вы используете свои custom-пакеты вместо стандартного RTL-пакета.

          Q: Поражает ли вирус C++ Builder?

          A: Конкретно этот – нет. Но это теоретически возможно.

          Q: Ого, у меня дата изменения sysconst.dcu – 5 лет назад! Это ж сколько он гуляет по сети?

          A: Нельзя смотреть на дату sysconst.dcu, т.к. вирус сохраняет дату оригинального файла. Поэтому обычно эта дата – время установки вашей Delphi, не более того. По вопросу его времени активной жизни - см. вопросы по истории ниже.

          Q: У меня нет sysconst.bak – я чист!

          A: Это не всегда верно. Например, sysconst.bak мог быть кем-то удалён. Да, чаще всего это означает отсутствие Virus.Win32.Induc.a, но не всегда. Надёжнее всего – проверить sysconst.dcu, скормив его анти-вирусу или поискав в нём вручную “CreateFile(pchar(d+$bak$),0,0,0,3,0,0)”.

          Q: Антивирус ругается на файл, но никакого “CreateFile(pchar(d+$bak$),0,0,0,3,0,0)” там нет!

          A: Т.е. вы считаете, про при упаковке программы UPX или AspPack, пакер специально не будет паковать строку “CreateFile(pchar(d+$bak$),0,0,0,3,0,0)”, чтобы вы могли найти вирус?

          Q: Я заражён, но на мои программы антивирус не ругается! Кому верить?

          A: Ну, если вы компилируете программу с пакетами (run-time packages), то очевидно, что вирус в вашу программу не попадает, т.к. модуль SysConst сидит в (уже скомпилированном) пакете RTL, который вирус не трогает. Также надо обратить внимание на тот факт, что вирус не трогает отладочные копии файлов (в папке \Lib\Debug), так что если вы включаете опцию “Use Debug DCUs”, то ваша программа будет собираться с чистой, а не с инфицированной версией модуля SysConst.

          Q: Все мои программы анти-вирус считает заражёнными, но не ругается ни на один файл в папке Delphi. Т.е. SysConst.dcu чист. Ложное срабатывание?

          A: Ну, некоторые анти-вирусы имеют своё мнение о том, что можно, а что нельзя считать заразой. В частности, некоторые считают, что сам по себе инфицированный SysConst.dcu не представляет угрозы - а лишь будучи вкомпилирован в программу. Именно поэтому антивирус пропускает модифицированный SysConst.dcu, но ругается на программу, собранную с ним. Чтобы убедиться в этом - отправьте SysConst.dcu на бесплатный сервис VirusTotal

          Q: Как определить, от чего я заразился?

          A: Найдите инфицированную программу, скомпилированную не вами. Самая ранняя из них и будет источником заражения (ну, если вы не удалили её, конечно).

          Q: Как определить, когда я заразился?

          A: Найти все инфицированные программы и посмотреть самую раннюю дату создания/компиляции.

          Q: Вирус есть, но sysconst.bak файла нет, а анти-вирус не лечит. Что делать?

          A: Проще всего – скопировать файл с установочного диска. Ну и для верности вообще Delphi переустановить ;) Для сильно умеющих – вместо этого можно пересобрать файлы в \Lib из папки \Source. Разумеется, перед этим сперва нужно провести полное сканирование системы и удалить все заражённые файлы (ну или вылечить, если ваш анти-вирус такое умеет).
          Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
            Оказывается и у меня Delphi заражен, это наверное с AIMP и QIP взялся ;)
            Скорее всего многие программы на Delphi заражены этим вирусом)))
            Результаты проверки файла sysconsts.dcu VirusTotal.com:
            Скрытый текст

            Антивирус Версия Обновление Результат
            a-squared 4.5.0.50 2010.04.17 Virus.Win32.Induc!IK
            AhnLab-V3 5.0.0.2 2010.04.16 Win32/Induc
            AntiVir 7.10.6.115 2010.04.16 W32/Induc.A
            Antiy-AVL 2.0.3.7 2010.04.16 -
            Authentium 5.2.0.5 2010.04.16 -
            Avast 4.8.1351.0 2010.04.16 Win32:Induc
            Avast5 5.0.332.0 2010.04.16 Win32:Induc
            AVG 9.0.0.787 2010.04.16 -
            BitDefender 7.2 2010.04.17 Win32.Induc.A
            CAT-QuickHeal 10.00 2010.04.17 Induc.A
            ClamAV 0.96.0.3-git 2010.04.17 Virus.Induc-2
            Comodo 4623 2010.04.17 -
            DrWeb 5.0.2.03300 2010.04.17 Win32.Induc
            eSafe 7.0.17.0 2010.04.15 -
            eTrust-Vet 35.2.7430 2010.04.16 Win32/Induc.A!DCU
            F-Prot 4.5.1.85 2010.04.16 -
            F-Secure 9.0.15370.0 2010.04.16 Win32.Induc.A
            Fortinet 4.0.14.0 2010.04.16 -
            GData 19 2010.04.17 Win32.Induc.A
            Ikarus T3.1.1.80.0 2010.04.17 Virus.Win32.Induc
            Jiangmin 13.0.900 2010.04.17 -
            Kaspersky 7.0.0.125 2010.04.17 Virus.Win32.Induc.a
            McAfee 5.400.0.1158 2010.04.17 -
            McAfee-GW-Edition 6.8.5 2010.04.17 Heuristic.BehavesLike.Exploit.CodeExec.FFJJ
            Microsoft 1.5605 2010.04.17 -
            NOD32 5035 2010.04.16 -
            Norman 6.04.11 2010.04.16 -
            nProtect 2010-04-17.01 2010.04.17 -
            Panda 10.0.2.7 2010.04.16 W32/Induc.A
            PCTools 7.0.3.5 2010.04.17 Virus.Induc
            Prevx 3.0 2010.04.17 -
            Rising 22.43.05.03 2010.04.17 -
            Sophos 4.52.0 2010.04.17 Mal/Induc-A
            Sunbelt 6187 2010.04.17 Virus.DCU.Induc.a (v)
            Symantec 20091.2.0.41 2010.04.17 W32.Induc.A!dcu
            TheHacker 6.5.2.0.263 2010.04.16 -
            TrendMicro 9.120.0.1004 2010.04.15 TROJ_INDUC.AA
            VBA32 3.12.12.4 2010.04.15 -
            ViRobot 2010.4.17.2282 2010.04.17 Win32.Induc.AB
            VirusBuster 5.0.27.0 2010.04.16 Win32.Induc
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script Execution time: 0,1088 ]   [ 18 queries used ]   [ Generated: 14.08.18, 19:13 GMT ]