home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / zip / virus / vkiller.lzh / VKILLER / VKILLER.DOC < prev    next >
Text File  |  1991-05-22  |  25KB  |  465 lines

  1. VKILLER                    Version 3.84                 April, 1991
  2.  
  3. This Archive contains the most recent version of VKILLER, the virus
  4. detect-and-kill utility for the Atari ST.
  5.  
  6. The program works in medium or high resolution, and is completely
  7. mouse/icon driven. The program may also be controlled by the keyboard.
  8. In this document, all the keyboard commands are indicated as capital
  9. letters, but that is not mandatory. Lower case letters will provide the
  10. same functions. In most cases, the first letter of the label under an
  11. icon is the key that will accomplish the same function of as a click on
  12. the icon.
  13.  
  14.         **** To Check Disks for Viruses ****
  15.  
  16. Click on the FLOPPY A icon, or press the "A" key, to check the disk in
  17. drive A for a virus. Click on the FLOPPY B icon, or press the "B" key,
  18. to check the disk in drive B for a virus. When you access a disk, the
  19. program reads in the boot sector, both copies of the File Allocation
  20. Table (FAT), the disk's root directory, and the first few data sectors.
  21.  
  22. The disk's boot sector will be checked to see if it is executable, and
  23. if it matches any known patterns. If it is executable, a warning
  24. message will be posted in the display window. If it matches the
  25. patterns of some known boot sector utility, such as a resolution
  26. setter, that fact will be illustrated by a box in the lower right
  27. corner. If it matches the pattern of any known virus, that fact will be
  28. indicated by a box in the lower right corner. To see more information
  29. on any recognized virus, click on the box in the lower right corner, or
  30. press the 'D' key for details.
  31.  
  32.         **** Capturing Disk Data ****
  33.  
  34. Once you have accessed a disk to check it for a virus, you can write the
  35. data from the disk into a file, print it, or show it on the screen.
  36.  
  37. To write the disk data into a file, click on the "FILE" icon, or press
  38. the "F" key. A file selector will appear. Use it to designate the file
  39. you wish to write. The resulting file is not executable, even if the
  40. boot sector of the floppy was an executable one. It is a data file with
  41. an image of the significant portions of the disk. It can be treated
  42. like any data file, compressed by an archiving utility such as ARC or
  43. LZH, copied, transmitted via electronic mail systems, printed, or
  44. examined.
  45.  
  46. To print the data, click on the PRINT icon, or press the "P" key. An
  47. alert box will appear. You may choose to print either the same data
  48. that is available in the "SHOW" window, or only the data from the boot
  49. sector. The amount of data captured from the disk varies, depending
  50. upon the disk's configuration. For a typical ST disk, it will usually
  51. be about 20 sectors, or slightly over 20,000 bytes. The boot sector
  52. only is 512 bytes.
  53.  
  54. To show the data on the screen, click on the SHOW icon, or press the
  55. "S" key. The window will expand to nearly the full screen, and display
  56. all the data read from the disk. Use the window's scroll bar to move
  57. back and forth through the data. Close the data window, by clicking on
  58. the close box, to return to the main screen. Pressing any of the active
  59. keyboard keys will also close the data window and return to the main
  60. screen.
  61.  
  62.         **** Disk Basics ****
  63.  
  64. The boot sector of a normal ST disk is 512 bytes. Only a small portion
  65. of this, about 30 bytes, are required to provide data to the ST. Those
  66. initial data bytes contain the disk's formatting characteristics,
  67. telling the ST's operating system how many tracks the disk has, how
  68. many sides are used, how many sectors are on each track, and how much
  69. of the disk is being used for the directory and the File Allocation
  70. Table. The rest of the boot sector is not used unless the disk is "self
  71. booting". In this case, normally found only on games, the boot sector
  72. is "executable", and the normally unused portion of the boot sector
  73. contains a small program. This program will be executed automatically
  74. when the ST is powered on, or reset, and the disk with the executable
  75. boot sector is in drive A. This is true even if your ST is configured
  76. to automatically boot up from a hard disk. The boot sector of a disk in
  77. drive A will still be checked to see if it is executable, and will be
  78. executed if it is. Executable boot sectors, therefore, are the primary
  79. method used by viruses to spread, and be run by unsuspecting ST owners.
  80.  
  81. If the boot sector is not executable, the space after the configuration
  82. data is unused. While whatever is there is not normally important,
  83. there is one virus which utilizes an obscure system characteristic to
  84. hide in the boot sector, and not make the disk "executable". To be
  85. safe,  the unused portions of the boot sector of any non executable
  86. disk should be set to zeroes. Some formatting programs do this, while
  87. others do not. The ST desktop, for example, does not set the unused
  88. portion of the boot sector to zero. 
  89.  
  90. The boot sector also contains a serial number. That number is used by
  91. the ST's operating system to determine when one disk has been removed,
  92. and a different disk inserted. If a change is made between two disks
  93. which have the same serial number, however, the ST does not believe
  94. that there has been a disk change made. That usually results in the
  95. destruction of the second disk, when the data written to it aligns with
  96. the file structure of the removed disk. There are viruses which write
  97. the same serial number to different disks, resulting in such
  98. destruction. There is a similar problem using disks formatted by an
  99. MS-DOS system. The serial number is not used by MS-DOS. Instead, MS-DOS
  100. writes the version number in the space used for the serial number. This
  101. results in all disks formatted on MS-DOS systems appearing to have the
  102. same serial number, and becoming corrupted when they are used in an ST.
  103. To warn of this possibility, VKILLER checks the serial number field. It
  104. always displays the disk's serial number in the data window. If the
  105. field contains printable characters, they are posted after the serial
  106. number, in parenthesis. If you find the same serial number on more than
  107. one disk, you can use VKILLER's Repair facility to renumber the disk,
  108. without altering the disks contents in any other way.
  109.  
  110. The directory contains the names of any sub-directories (or "folders")
  111. which are accessible from the main directory. Those sub-directories may
  112. contain more subdirectories, and files. There may also be files in the
  113. main directory. The directory size is specified when the disk is
  114. formatted. The standard size for an ST directory is seven disk sectors,
  115. large enough to hold 112 files or sub-directories. Few disks contain
  116. that many files or folders in the main directory, so there is usually
  117. some amount of unused space beyond the last entry in the directory.
  118. There are viruses that will attempt to hide themselves in the end of
  119. the directory. There is one that will place itself in the last two
  120. sectors of the directory, whether that portion of the directory
  121. contained entries or not. If that virus infects a disk which was using
  122. the last two sectors of the dirctory, any file or directory which was
  123. there will be lost.
  124.  
  125. All files, and sub-directories, rely upon the File Allocation Table to
  126. be accessible. The File Allocation Table, or FAT, is a map of where
  127. each file and sub-directory is recorded on the disk. The ST's operating
  128. system relies upon the FAT to locate the proper portions of the disk in
  129. order to read and write the sub-directories and files. The FAT,
  130. therefore, is absolutely critical in using the disk. So critical, in
  131. fact, that the ST's operating system normally writes two copies of the
  132. FAT on the disk. That way, in case of an error in reading or writing
  133. the first copy, the second copy may allow the data on the disk to be
  134. recovered. The critical nature of the FAT also makes it a prime target
  135. for virus attacks. Erasing the FAT usually results in the loss of all
  136. files on a disk.
  137.  
  138. The size of the Directory and FATs may vary from disk to disk. The size
  139. of the FAT must be large enough to record the layout of every portion
  140. of the disk. The normal size of one copy of the FAT on an ST disk is
  141. five sectors. This is more space than is necessary to record the disk's
  142. layout. There are viruses that take advantage of this fact, and attempt
  143. to hide themselves in the unused portion of the FATs.
  144.  
  145. This means that there are currently three places that viruses can hide
  146. on a disk - in the unused portion of the boot sector, in the portion of
  147. the reserved FAT space not needed for a particular disk, or beyond the
  148. last entry in the directory. VKILLER checks disks for all these
  149. possibilities. If it notes that there is something other than zeroes in
  150. the unused portion of the boot sector, it displays a message reading
  151. "Boot sector not zeroed". If the unused portions of the FAT or
  152. directory are not zeroed, it displays a message reading "Extra sectors
  153. not zeroed". These messages warn of the condition, but do not
  154. necessarily mean that there is a problem.
  155.  
  156. One other value stored in the boot sector configuration data is
  157. checked. There is a provision made for reserving additional disk
  158. sectors, for some special use. These sectors are referred to as
  159. "Hidden", since they are not accessible to any normal disk function.
  160. There is no current use for hidden sectors on an ST disk, so the
  161. presence of them is a condition which should cause concern. If VKILLER
  162. detects hidden sectors on a disk, a warning message will appear in the
  163. disk data window.
  164.  
  165.         **** Cleaning up Disks ****
  166.  
  167. If the disk contains a virus, or garbage in the boot sector, you can
  168. clean it up by clicking on the KILL icon, or pressing the "K" key. When
  169. the program executes a "KILL", it writes zeroes into all the non
  170. critical bytes in the boot sector. Whether the remaining unused
  171. portions of the disk are altered depends upon an option set from the
  172. "Options" menu, or by pressing the 'Z' key. The "Extra Zeroing" option
  173. is on when the program begins executing. If this option remains on,
  174. then executing a Kill on a disk will also cause the unused portions of
  175. the FAT, and the unused portion of the directory, to be set to zero. If
  176. the "Extra Zeroing" option is off, only the unused portion of the boot
  177. sector is set to zero. When "Extra Zeroing" is selected from the menu,
  178. or the 'Z' key is pressed, a map of the current disk is displayed,
  179. showing the status and use of each sector in the boot, FAT, and
  180. directory portions of the disk.
  181.  
  182. No other portion of the disk is altered, and any files on the disk are
  183. left intact. The resulting boot sector provides a disk readable by both
  184. ST's and MS-DOS systems. It is not necessary to display a disk's data
  185. before executing a kill on it. You can insert a disk and press "K", or
  186. click on the Kill icon, immediately. The disk's boot sector will be
  187. read, the critical portions preserved, and the non critical portions
  188. zeroed out.
  189.  
  190. If you wish to install a "Guard" boot sector on a disk, click on the
  191. guard icon, or press the "G" key. A dialog box will appear, offering a
  192. choice of two types of guard boot sectors. 
  193.  
  194. The first guard boot sector is the "Display" type. It contains a simple
  195. program which will display the message "Virus free disk" when the
  196. system is powered up or reset with that disk in drive A. Once the
  197. message has been displayed, the program returns to the operating system
  198. to continue with the power up sequence. It does not remain in memory.
  199. If you reset the system with that disk in drive A, and the message does
  200. not appear, you should immediately check that disk for a virus. The
  201. only reason why the message would not appear is if the boot sector has
  202. been altered, possibly by a spreading virus. This guard boot sector is
  203. an adaptation of one originally written by Mark S. Powell.
  204.  
  205. The second guard boot sector is the monitoring type. This one also
  206. displays a message at power up and reset. Unlike the display version, 
  207. however, this guard remains active in memory until the system is reset
  208. again. Of course, if the disk in drive A at the next reset contains the
  209. guard boot, it will be reloaded again. Otherwise, it is removed from
  210. the system. 
  211.  
  212. While the monitor is active, it checks the boot sector of every disk
  213. that is accessed by the ST. If it detects an executable boot sector on
  214. any disk, it will flash the screen colors, and sound a warning tone. If
  215. the disk just accessed was not one that should have an executable boot
  216. sector, you should become suspicious. The monitor will not issue a
  217. warning for disks which contain copies of itself.
  218.  
  219. Vkiller now contains a feature for repairing the boot sector of a
  220. damaged disk. Activate it by clicking on the repair icon, or pressing
  221. the "R" key. It will not re-create executable boot sectors, such as
  222. those required for self booting games. When a disk boot sector is
  223. damaged, the disk will be deemed unreadable by the ST's operating
  224. system. If only the boot sector is damaged, repairing it may allow the
  225. data on the disk to be recovered.
  226.  
  227. When you activate the repair function, a dialog box appears. It
  228. contains all the data that can vary in a disk's boot sector. The
  229. individual entries are each editable. They will originally contain
  230. whatever value was read from the disk. This may not be reasonable or
  231. valid if the boot sector was corrupted. The actual data that is in the
  232. boot sector is a bit more obscure than what the dialog presents, but
  233. the needed data can be calculated from what is presented in the dialog.
  234.  
  235.     OS ID: This is an ASCII data string. It is designed to
  236.     provide the identity of the operating system under which
  237.     the disk was formatted. It can contain anything. It is
  238.     not used by the ST operating system in the current version,
  239.     but is supplied for MS-DOS compatibility.
  240.  
  241.     Serial Number: This number is used to tell disks from each
  242.     other. The number should be different on every disk. This
  243.     box will originally contain the number that came from the disk.
  244.     You can enter any value you wish, if you so desire. The
  245.     legal range of entries is from 0 - 16,777,215. It should
  246.     be stated here that the three bytes in which this number is
  247.     stored are also used for the operating system ID on MS-DOS
  248.     systems, and will usually have the version number of the
  249.     formatter. If you regularly move disks back and forth with 
  250.     MS-DOS systems, you may encounter problems using them in your
  251.     ST, since many will appear have the same serial numbers.
  252.     You shoud, therefore, avoid the numbers which correspond
  253.     to the MS-DOS versions:
  254.  
  255.         1.0 - 3,223,088 through 1.9 - 3,223,097
  256.         2.0 - 3,288,624 through 2.9 - 3,288,633
  257.         3.0 - 3,354,160 through 3.9 - 3,354,169
  258.         4.0 - 3,419,696 through 4.9 - 3,419,705
  259.  
  260.     If VKILLER notices that all three characters in the disk
  261.     serial number are printable ASCII characters, it will display
  262.     the three characters in parenthesis in the disk data window.
  263.  
  264.     Format ID - Also for MS-DOS compatibility, and not used
  265.     by the ST. The normal ID value is F9.
  266.  
  267.     Reserved Sectors - The number of sectors at the beginning
  268.     of the disk which are not used for the FATs, Directory,
  269.     or data. Unless you are attempting to something very
  270.     unusual, this should always be 1 (for the boot sector).
  271.  
  272.     Hidden Sectors - Sectors at the beginning of the disk
  273.     which should not be accessed. This should be zero.
  274.  
  275.     Sides on Disk - Either 1 or 2. If you come up with a
  276.     three sided disk, I'd be very interested in seeing it.
  277.  
  278.     Tracks on Disk - The standard format for an ST is 80.
  279.     Extended formatters may provide 81 or 82, if your drive
  280.     can step in that far. Some 5.25" disk drives have 40 tracks.
  281.  
  282.     Sectors per Track - The standard for the ST (and MS-DOS)
  283.     is 9. Some extended formatters, including "TWISTER",
  284.     use 10, while others will go to 11. The ST's desktop
  285.     formatter always uses 9.
  286.  
  287.     Sectors per FAT - The FAT is the File Allocation Table.
  288.     It is a map of how the folders and files are positioned
  289.     on the disk. The ST standard is 5. This is more than
  290.     adequate, since the capacity of the disk only requires
  291.     3. A disk formatted in an MS-DOS system will have 3.
  292.     When viewed as data, a FAT looks like a bunch of garbage.
  293.     There will always be two copies of it, at the start of a
  294.     disk. You can use the "Show" feature of Vkiller to look
  295.     at the disk. If sectors 1 and 4 look the same, and the
  296.     directory starts at sector 7, the disk has a 3 sector FAT.
  297.     If sectors 1 and 6 look the same, and the directory starts
  298.     in sector 11, the disk has a 5 sector FAT.
  299.  
  300.     Directory Sectors - The number of disk sectors provided
  301.     for the disk directory. The ST standard is 7.
  302.  
  303. If you accessed the repair function only to change the serial number on
  304. the disk, click on the "Renumber" button. A random serial number will
  305. be generated, the disk boot sector will be updated, and the program
  306. will return to the data window. If you want to assign a  specific
  307. serial number, move the cursor to the serial number entry, type in a
  308. number in the range 0 - 16,777,215, and select the "Rewrite" button.
  309.  
  310. If the data in the dialog appears to be nonsense, the disk's boot
  311. sector has been corrupted. This may be due to a wide range of reasons,
  312. not just a virus. To set the values to the ST standards, you can enter
  313. the appropriate values for each item, or select the "Set Defaults"
  314. button. It will set the normal values for most of the entries, and
  315. generate a random serial number. You should, however, insure that the
  316. number of tracks, sectors, and sides on the disk are correct for that
  317. particular disk. If you aren't certain, you can use the "Scan Disk"
  318. function.
  319.  
  320. When you select the scan disk function, a dialog with a number of
  321. selectable boxes appears. To repair a damaged disk, the program must
  322. know the number of tracks, sectors per track, and sides on the disk. If
  323. you know any of those facts, enter them in the dialog by clicking on
  324. the appropriate boxes. If you don't know, leave the boxes unselected.
  325. The program will attempt to determine the disk's configuration by
  326. reading different areas, to establish any of the entries that you do
  327. not provide. You can also have a set of default values inserted by
  328. clicking on the "Default" button.
  329.  
  330. Since the number of tracks on a disk may vary, the program will attempt
  331. to determine how many tracks were originally on the disk by stepping
  332. the disk head in and reading data, until it reaches an unreadable area.
  333. It will not continue stepping in past an unreadable track, but it will
  334. continue stepping in until it does reach an unreadable track. This, of
  335. course, will be one track further than the the disk's formatting
  336. originally extended. While it is extremely unlikely, it is possible
  337. that repeated execution of this stepping in operation, which could
  338. extend beyond the range of the drive, could cause the disk's head to
  339. become mis-aligned. It has not occurred through weeks of testing, and
  340. would probably require thousands of such operations, but it is
  341. possible. If you wish to prevent the head from stepping in past some
  342. specific track, click on the last track you wish the disk to access,
  343. and select the "Limit" box. The head will not be stepped in beyond the
  344. track you select, even if that track does contain readable data. Of
  345. course, if an unreadable track is detected before that limit is
  346. reached, no further stepping will occur.
  347.  
  348. After all the physical configuration parameters have been entered or
  349. determined, the original dialog box will re-appear. The values
  350. determined by scanning the disk will have been updated. You may edit
  351. them again, if you wish, before writing the disk's boot sector. After
  352. the disk has been updated, the program returns to the familiar disk
  353. data window.
  354.  
  355. Since this boot sector rebuilding function starts with the data
  356. currently on the disk, it can also be used as a means of altering the
  357. data on a non-infected disk, such as setting serial numbers.
  358.  
  359. The Menu offers two features under the "Options" title. The first
  360. option, "Quiet", will turn off the warning siren that sounds when a
  361. virus is detected. Clicking on "Quiet" again will turn the siren back
  362. on. 
  363.  
  364. Since some viruses check system data, such as ROM dates, to determine
  365. if they can execute, a second "Option" is provided. Clicking on "System
  366. Info" will cause the data window to display information about the
  367. system parameters.
  368.  
  369. Exit the program by clicking on the "QUIT" icon, or pressing the "Q"
  370. key.
  371.  
  372. When the program detects a virus present on a disk, it will sound a
  373. warning tone, and place a new button on the desktop. To see the details
  374. about the particular virus located, click on the new "Known Virus" box,
  375. or press the "D" key. If you find a lot of disks infected by a virus,
  376. and want to stop the warning tone from sounding on each disk,  select
  377. the "QUIET" item from the "OPTIONS" menu.
  378.  
  379. If the disk contains an executable boot sector, but one that is 
  380. recognized as a standard system boot, it will be identified as a
  381. "System Disk".
  382.  
  383.         **** General Hints ****
  384.  
  385. There are two real problems to keep in mind when dealing with viruses,
  386. and disk boot sectors. The first is that not all executable boot
  387. sectors are viruses. There are times when a boot sector is supposed to
  388. be executable. Executing a KILL on such a boot sector will destroy
  389. whatever code was in the boot sector, and may render the software on
  390. the disk useless. In order to determine if the software on a disk
  391. requires an executable boot sector, you may execute a "Test Kill" from
  392. the "Options" menu, or pressing the 'T' key. This will render the disk
  393. boot sector un-executable, but in a manner that may be restored back to
  394. the original executable status. A dialog box will appear, explaining
  395. the test kill procedure, and offering the buttons "Test Kill",
  396. "Cancel", and "Restore Boot". Select "Test Kill" to determine if a disk
  397. which bears an executable boot sector will function normally without an
  398. executable boot sector. The disk will be altered to non-executable
  399. status. Exit VKILLER, and attempt to use the disk as you had
  400. previously. If it still works properly, it did not need the executable
  401. boot sector. You should rerun VKILLER, and do a  normal "Kill" to erase
  402. whatever was in the boot sector. If the disk will not function properly
  403. after the test kill, rerun VKILLER immediately and execute the "Restore
  404. Boot" function. This will return the boot sector to the prior status.
  405. You should record the fact that that particular disk must contain an
  406. executable boot sector, to avoid acidentally removing it at a later
  407. time.
  408.  
  409. Generally speaking, if the proper use of the software on the disk
  410. required you to reset your ST, or power it off and on to start the
  411. program, then the boot sector was supposed to be executable, and you
  412. should not execute a virus kill on it. Any program which can be
  413. executed by clicking on it does not require an executable boot sector.
  414. Consequently, disks used to store such programs should not contain
  415. executable boot sectors.
  416.  
  417. The second problem is attempting to use VKILLER in a system which has
  418. been infected by a virus, and the virus is executing (attempting to
  419. spread) while VKILLER is attempting to clean it off disks. With all
  420. known ST viruses as of this release (January, 1991), VKILLER will
  421. detect this situation. It will provide instructions on the screen,
  422. informing you that there is an active virus in the system at the time,
  423. the exact steps on how to get rid of it, and how to start cleaning up
  424. your disks.
  425.  
  426. This version of VKILLER can recognize and eliminate over 30 different
  427. ST viruses. This is possible only because people who have encountered
  428. viruses that earlier versions of the program did not recognize sent me
  429. copies of the new viruses. If you encounter a virus that the program
  430. does recognize, there is no need to contact me. Just eliminate the
  431. virus, and let anyone else you have given a disk to know that their
  432. system may be infected. Give them a copy of this program if you wish,
  433. it is free to anyone who would like it.
  434.  
  435. If, however, you encounter executable boot sectors spreading through
  436. your library, and this version of VKILLER can't identify it, please
  437. contact me at any of the addresses below. Keep one infected disk, and
  438. either send me the disk, or the file generated by VKILLER's file
  439. function. Use the Kill function to clean up the rest of the disks in
  440. your library.
  441.  
  442. As of this writing, I am investigating about 40 disks each month for
  443. new viruses. If you mail me a disk, or a request for a disk copy of the
  444. latest version, please include a stamped, self addressed return mailer.
  445. Please be patient in expecting a response. 
  446.  
  447. VKILLER does not require any "license", "registration", or "shareware"
  448. contributions. Of course, all such contributions are gratefully
  449. accepted, but none are solicited. Circulate the program in any manner
  450. you wish. It may be copied, and distributed freely, but it may not be
  451. sold. Reasonable (and hopefully modest) charges for media, copying, or
  452. downloading are acceptable.
  453.  
  454.  
  455.  
  456. George R. Woodside       
  457.  
  458. Voice:         (818) 348-9174
  459. Compuserve:    76537,1342 
  460. GEnie:         G.WOODSIDE
  461. USENET:        woodside@ttidca.com
  462.     or:        ..!{philabs|csun|psivax}!ttidca!woodside
  463. US MAIL:       5219 San Felicaino Drive
  464.                Woodland Hills, CA  91364  USA
  465.