Win32/Induc. A, “Delphi” - вирус, заражает SysConst.pas, у кого-либо есть образец кода для поиска? [закрытый]

Это показывает, как алгоритм масштабируется.

O (n <глоток> 2 ) : известный как [1 127] Квадратичная сложность

  • 1 объект: 1 секунда
  • 10 объектов: 100 секунд
  • 100 объектов: 10 000 секунд

Уведомление, которое количество объектов увеличивает фактором 10, но увеличения времени фактором 10 <глоток> 2 . В основном, n=10 и так O (n <глоток> 2 ) дает нам масштабный коэффициент n <глоток> 2 , который является 10 <глоток> 2 .

O (n) : известный как [1 129] Линейная сложность

  • 1 объект: 1 секунда
  • 10 объектов: 10 секунд
  • 100 объектов: 100 секунд

На этот раз количество объектов увеличивается фактором 10 и время - также. n=10 и так O (n) масштабный коэффициент равняется 10.

O (1) : известный как [1 131] сложность Constant

  • 1 объект: 1 секунда
  • 10 объектов: 1 секунда
  • 100 объектов: 1 секунда

количество объектов все еще увеличивается фактором 10, но масштабный коэффициент O (1) всегда равняется 1.

O (регистрируют n) : известный как [1 133] Логарифмическая сложность

  • 1 объект: 1 секунда
  • 10 объектов: 2 секунды
  • 100 объектов: 3 секунды
  • 1 000 объектов: 4 секунды
  • 10 000 объектов: 5 секунд

количество вычислений только увеличены журналом входного значения. Так в этом случае принятие каждого вычисления занимает 1 секунду, журнал входа n является требуемым временем, следовательно log n.

Это - суть его. Они уменьшают математику вниз, таким образом, это не могло бы быть точно n <глоток> 2 или независимо от того, что они говорят, что это, но это будет фактором доминирования в масштабировании.

8
задан Lasse V. Karlsen 19 August 2009 в 19:09
поделиться

2 ответа

Я анализировал вирус. Информация, циркулирующая в сети, что он заражает все исполняемые файлы, скомпилированные на зараженной машине, не совсем верна. Он заражает только исполняемые файлы, скомпилированные БЕЗ исполняемого пакета VCL И без отладочных DCU.

Если вы компилируете с пакетами, модуль SysConst уже находится в скомпилированном пакете VCL, что не затрагивается.

И вирус только добавляет себя в неотладочную версию файла SysConst.dcu.

В остальном то, что я читал в Интернете, является точным. Вирус копирует файл SysConst.pas до строки «реализация», затем присоединяется к новому файлу (в SysConst.pas есть пустой раздел реализации - это только объявления констант). Он сохраняет исходный файл SysConst.dcu в файл SysConst.bak, компилирует зараженную копию исходного кода в новый файл SysConst.dcu, а затем удаляет исходную копию. Наконец, он устанавливает дату создания и изменения нового зараженного файла DCU в соответствии со старым чистым. Подлый!

Он не делает ничего, кроме дублирования - нет вредоносной полезной нагрузки.

5
ответ дан 5 December 2019 в 20:18
поделиться

Я видел это. Все еще немного смущен этим. Когда появилось первое уведомление об этом, я посмотрел только на файл .pas. Я не нашел ничего плохого с файлом .pas и оставил его на день. ЗАТЕМ я исследовал немного более внимательно и пошел посмотреть файлы .dcu. Я нашел ДВА инфицированных файла .DCU. Оба были 18К в длину, а не 12К, что было одной подсказкой. Вторая подсказка заключалась в поиске CreateFile с 0,0,0,3,0,0 в качестве последних шести параметров. Я скопировал незараженный файл SysConst.DCU из папки DEBUG в LIB. Затем я заново собрал зараженные приложения, всего пять. Один датирован 22 июня. Остальные совсем недавно. Одно приложение было создано в те же выходные, что и два других зараженных приложения. Но я все равно его восстановил.

Я использовал антивирус ZoneAlarm Security Suite, лицензированный у Kapersky, и он продолжал выдавать мне чистые отчеты о зараженных приложениях примерно до пяти часов назад. Мне пришлось сканировать приложения с помощью Avast! чтобы узнать, какие из них были инфицированы до этого момента. Я колебался на отказе от AV ZA, но это решает сделку. Я знаю, что не хочу никаких ложных срабатываний, но они намного меньше раздражают, чем любые пропущенные срабатывания. Один из пяти пострадавших клиентов НЕ был счастлив. И я не могу его винить.

И последний интересный момент (я, конечно, использую Delphi 7.1). Новый (старый?) Файл SysConst.dcu из отладки имеет длину 11 681 байт, тогда как файл. bak файл. Я полагаю, что неприятный бизнес, созданный из оригинала, имеет длину 11 658 байт. Не знаю, важно ли это, но я держу и то, и другое. И я проверю dcu перед компиляцией в ближайшее время. Это неприятно, но на ближайшее время здесь царит паранойя.

3
ответ дан 5 December 2019 в 20:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: