BootX v4.30 FEATURES - NEW !!! Configurable link and file virus check. - NEW !!! BootX can scan your disks or hard-disk and generate a report of the file types and viruses found. The report can be saved to disk for later review. - NEW !!! BootX Settings file. - NEW !!! KickStart 2.0 SetPatch support. - NEW !!! Completely rewritten link & file virus check routine. - Recognizes over 246 bootblocks (among that 153+ bootviruses and their mutants or family members) - Recognizes over 80 viruses in memory and is able to repair the damage caused by most of them. - BootX can check your disks and hard disk for link and file viruses. - Loads bootblock libraries with several alternative bootblocks. - Allows you to create your own brain files to recognize the bootblocks of your disks. - Allows you to load and save bootblocks to disk as a protection against virus attacks. - AmigaDOS Release 2 (KickStart & Workbench 2.0) compatible and aware. - PAL/NTSC/INTERLACE aware. 3.2 Read BB ----------- This gadget explicitly instructs BootX to read the bootblock from the current selected drive into the buffer. Normally BootX detects when a new disk is inserted and automatically reads its bootblock. But some old 5¼ drives don't support this automatic diskchange. This gadget can also be used to read the bootblock after another program has modified the bootblock. You will also need to use this gadget when you have turned of the auto-diskchange detection or when you have locked a drive (see further). 3.3 Write BB ------------ Here you instruct BootX to write the bootblock currently in the buffer to the selected drive. BootX maintains a buffer that holds the last read bootblock. This buffer is also visible in the large display window in semi-ASCII form (more about this later). The buffer allows you to read a bootblock from one disk and then copy it to another. 3.4 The 4 drive gadgets ----------------------- You can connect 4 disk drives to the Amiga. BootX checks how many drives are connected to the Amiga and installs a gadget for every one of them. When a drive is not found its radiobutton will be ghosted. Note that although a drive is connected the Amiga will not recognize its presence when it is turned off (only applicable for external drives). 3.5 Lock Drive -------------- Normally when you insert a disk in the disk-drive, the Amiga tries to see if the checksum of the disk is OK. When it is not, the Amiga tries to validate it. Pre-2.0 KickStarts need to load and execute a program called Disk-Validator from the L directory to check and/or repair the checksum. When a disk-drive is 'locked', BootX will prevent AmigaDOS from validating your disk. This also means that Disk-Validator viruses have no chance of getting in. You can insert and remove disks as many times as you like. Also the automatic diskchange detect will be temporarily disabled. 3.6 Install ----------- Here you can write the selected built-in bootblock to the bootblock of the current drive. When no bootblock library is loaded only the normal AmigaDOS Install v1.3 bootblock is available. At startup BootX looks for a file called "BootX.BBLib" in the directory from which BootX started. It contains several alternative bootblocks. It is possible to load another bootblock library using the "Load bootblock library" menuitem (see further). 3.7 Next and Previous (< and >) ------------------------------- These gadgets show the next or the previous bootblocks in the currently loaded bootblock library. If no library is loaded, only the normal AmigaDOS Install 1.3 bootblock will be available. Among the bootblocks are the normal DOS bootblock, Ralph Babel's Install2 and several others. Thanks to all groups and programmers whose bootblock I included. Note however that when you press Next and Previous the bootblock buffer is not updated. 3.8 Built-in bootblock name --------------------------- This window shows the name of the selected built-in bootblock. 3.9 Message window ------------------ This window reports messages and errors resulting from the various operations. 3.10 Main display window ------------------------ Shows the bootblock that is currently in the buffer in semi-ASCII representation. Only the readable characters are shown. This allows you to check for readable text signifying the nature of the bootblock when BootX reports "Unknown bootblock". The main display window is also used for the output of several other BootX functions. 4. The BootX Project Menu items ------------------------------- 4.1 Load Bootblock library -------------------------- Selecting this menuitem (or the key combination Right-Amiga-B) allows you to load another bootblock library than the default BootX.BBLib. BootX will only load valid bootblock libraries. 4.2 Load Brainfile ------------------ Selecting this menuitem (or the key combination Right-Amiga-L) allows you to load another brainfile than the default BootX.Brain. BootX will load only valid brainfiles. Before loading it asks you if you want this brainfile to replace the one in memory. 4.3 Save Brainfile ------------------ Selecting this menuitem (or the key combination Right-Amiga-S) allows you to save the brainfile that is currently in memory. 4.5 View Brainfile ------------------ This menuitem allows you to view all the entries that are in the brainfile that is in memory. 4.6 Merge Brainfile ------------------- Sometimes it happens that two BootX users have different entries in their brainfiles. This menuitem allows you to merge any brainfile with the one in memory. BootX will only add an entry that is not yet present. Don't forget to save the new brainfile to disk. 4.7 Learn Bootblock ------------------- Selecting this menuitem (or the key combination Right-Amiga-A) is the same as clicking on the Learn gadget (see higher). 4.8 Show known bootblocks ------------------------- This menuitem will produce a list of all the bootblocks and bootblock viruskillers BootX knows. 4.9 Show known bootviruses -------------------------- This menuitem will produce a list of all the bootviruses BootX knows. 4.9b Show known fileviruses --------------------------- This menuitem will produce a list of all the file- and linkviruses BootX knows. 4.10 Goto sleep --------------- Closes the main BootX screen and releases as much memory as possible. A small window on the workbench screen will be opened showing you that BootX is still in memory. In this state BootX uses no CPU time and just waits for you to make the window active and click in it with the menu button (the right mouse button). Then the main BootX screen and window is opened again and you can go on again. BootX does not unload a brain file or a bootblock library. Also, when asleep, BootX doesn't do any checking (like VirusX does). I did this on purpose. There is no need to continuously keep checking every disk that is inserted. Just check them once to make sure they are virus-free. 5. The BootX Bootblock Menu items --------------------------------- 5.1 Load/Save ------------- BootX can save the bootblock in the buffer to any valid drive. 'Save BB' can be used to save the bootblocks of games, mega demos and other programs to a separate data disk. In case of a virus attack or a bad disk you can load the previously saved bootblock back in the buffer and write it back to the original disk. Load BB will only allow you to load a file that contains a valid bootblock. It checks if it is an Old or Fast File System bootblock and then recalculates the checksum of the bootblock. When the bootblock checksum is wrong, BootX will ask you if you want to repair it. If you select Yes, BootX repairs the bootblock checksum of the loaded copy. 5.2 Learn BB ------------ This menu item prompts you for a name when BootX does not known the bootblock in the buffer yet. Enter an empty string when you want to cancel the operation. BootX then adds the bootblock to the current brain file (if present). Otherwise it makes a brain file in memory. 6. The BootX Files Menu items ----------------------------- 6.1 Check Files --------------- Selecting this menu item pops up a requester allowing you to set your preferences for the file an linkvirus check. 6.2.1 Skip Directories ---------------------- When this option is on BootX will skip any subdirectories it encounters during a scan. This option allows you to make a quick scan of the root of a disk or hard-disk. 6.2.2 Check All Files --------------------- Normally BootX only checks executable files (in techno talk: files that have a valid AmigaDOS hunk structure) since those are the only ones that can be run. When this option is selected BootX will check every file it encounters, resulting in a substantial increase in time it takes to finish to check. 6.2.3 Enter interactively ------------------------- When this option is active BootX asks if it should enter a directory everytime it encounters one. This is handy for scanning hard-disks with lots of directories. A requester pops up giving you the option to enter the directory (select the Yes gadget) or skip this directory (select the No gadget). 6.2.4 Auto-remove read-protection --------------------------------- AmigaDOS 2.0 recognizes and honours the protection bits of a file. That means that if the read protection is on, programs are not allowed to read that file. When BootX encounters such a file it will ask you if you want to remove the read protection of the file. If you select Yes BootX retains all previous protection bits with exception of the read protection bit. Read protection will be turned off and the file will be re-checked. If you wish to restore the read protection afterwards, use the AmigaDOS command Protect like this: 1> protect -r which will give the file its read protection back. If you select this option, the Auto-skip option will be turned off. See further. 6.2.5 Auto-skip read-protected files ------------------------------------ It happens sometimes that you want to protect some files on your disks or hard-disk from reading by removing the read protection bit. When this option is selected, BootX will ignore all read protected files. It will count them though. If you select this gadget, the Auto-remove option will be turned off. See higher. 6.2.6 Handle viruses automatically ---------------------------------- When BootX encounters a virus it will ask you if it should use any of the three mark methods you specified. Select this option when you want BootX to handle all viruses automatically when it encounters them. HINT: These last two options are especially handy when checking hard-disks with a lot of files on them. 6.2.7 Virus Mark options ------------------------ You can choose any of the three mark options that specify what BootX should do with a virus. You can add a filenote to the file, delete the file or rename the file. When BootX renames the file it will use a name that is composed of the virus name and a special counter that ensures that all virus names are unique. The filenote or comment that BootX adds to the file specifies the name of the virus and which version of BootX detected it. This comment can be seen when you use the 'List' command in the CLI or the Shell to list the files of a directory. 6.2.8 Report features --------------------- These options allow you to generate a report of your disk or hard-disk. At the end of the virus check will BootX ask you what to do with the report. You can either take a look at it or save it to disk. Normally BootX only reports files that are infected or have errors in them. When you turn on the Report File types option BootX will add every file it encounters to the report together with its file type. 6.2.9 Check files ----------------- This gadget pops up the file requester for you to specify a device to search for file- and linkviruses. You can select any AmigaDOS device that supports a file system. You can also specify a particular directory to check. When you select OK BootX starts searching for viruses in any file it encounters according to the preferences you specified. 6.3 Show report again --------------------- This menu item allows you to see the last generated report again. 6.4 Save report --------------- This menu item allows you to save the last generated report to disk. 6.5 Check Disk -------------- When you select this menu item, BootX will prompt you to insert a disk into the current drive. It will then perform all three built-in checks, that is, first the bootblock and the disk-validator will be checked. Then the complete disk will be scanned for infected sectors. And finally all the files will be checked. Of course BootX will prompt you if you want to skip any of the three checks for the current disk. 6.6 Repair Disk --------------- Currently this menu item allows you to repair the damage done by the Saddam disk-validator virus. This virus will corrupt the bitmap of a disk and encode the data blocks on a disk. As long as the virus is in memory, these blocks get decoded invisibly every time they are accessed. This way you don't notice there is anything wrong. But when you use that disk on an uninfected Amiga, these block will be unusable. Repair Disk scans a disk and tries to repair the damage. Make sure there is no virus in memory (especially not the Saddam virus). BootX will do a memory scan just to be safe and removes the virus if it is found. BootX then locks the current drive (make a different drive current using the 4 drive gadgets, see higher) and asks you to insert the corrupted disk. During the scan you'll get a progress report. You can leave the write-protection of your disk on to scan a disk without making modifications. 6.7. How BootX handles link- and fileviruses... ----------------------------------------------- When you ask BootX to check the files of a disk or a directory, BootX starts scanning and checking every file it encounters. When it finds a read-protected file, BootX will ask you if you wish to remove the read-protection from that file. If you select the No gadget, BootX will leave the file as it is. This file will NOT be checked. In case you select the Yes gadget BootX will try to remove the read-protection. The file is then checked to see if it contains a virus. Whether or not you mark an infected file or not, BootX will set the protection flags of the file to ---A---D which means that the file can only be deleted. The Archive flag makes sure that this file will not be included in a backup of that directory. 7. The BootX Miscellaneous Menu items ------------------------------------- 7.1 Check Memory ---------------- Checks the memory for any known virus ignoring all known resident virus checkers. When BootX finds a virus it will display an Alert identifying which virus was in memory and will try to kill it. BootX also removes any known linkvirus from memory. After the memory check, BootX will show you some important vectors from Execbase in the main display window. These vectors are mostly altered by viruses. Next the resources, libraries and devices are scanned to see if any of their vectors have been changed. A normal vector will be display in black. When BootX thinks that something is not normal it will display a message in white next to the vector saying 'Please check...'. Note that this not necessarily means that there is a virus in memory. Resident programs as f.i. TurboPrint use these vectors too. I will try to keep BootX's knowledge base as up to date as possible. In case of doubt, save all data and cold-start the Amiga, that is, turn of the power and wait a few seconds before turning it on again. This display generates a lot of technical information. If you are a beginning Amiga user and BootX reports that some of the vectors have been changed and it does not know which program, please contact a more experienced Amiga user (preferably a programmer). 7.2 Reset vectors ----------------- This menu item gives you the option to clear the first five vector that BootX shows in its vector list. This is not a fail safe way to kill a virus. Also if any other software is using these vectors, it will not survive the next reset. 7.3 Install resident LVD ------------------------ LVD is a small program I wrote that patches the main entry point of the Amiga operating system that is used for loading executable programs. Once installed, LVD uses no CPU time until you try to load an executable program. Before this program gets a chance to run, LVD checks if there is a known linkviruses attached to it. If there is the code of the program gets changed and the program will not get started. This prevents the virus from becoming activated. But when you already have a virus in memory, every program you load can be infected, every disk access can be fatal. This menu option install a Resident version of LVD with any disk access. First make sure you select Check Memory and Reset vectors to try to kill the virus. Then install the resident LVD. When you reset, LVD survives the reset and patches the entry point. Now if there is a virus infected program in your startup-sequence, LVD will intercept it before it gets a chance to run. NOTE: LVD installs itself at the END of the KickTag chain. That way if any other program is using the KickTag vector it will remain active. 8. The BootX Settings Menu items -------------------------------- 8.1 Detection diskchange ------------------------ This menu item works as an on/off switch. It turns the diskchange detection on or off. Sometimes it is not useful to have BootX read the bootblock of every disk you insert, especially when you have a bootblock in the buffer you wish to write to another disk. This gadget allows one drive user to copy bootblocks. 8.2 Show Help ------------- This menu item toggles the help feature on or off. When it is turned on you can click any gadget or select any menuitem to get a short help message about its function. Select the Show Help item again to turn off the help feature. 8.3 Pause after page -------------------- This option controls if the text display will by shown page by page. This feature will be temporarily disabled when you start a file check. 8.4 Check Memory at startup --------------------------- When this option is selected BootX will perform a full memory check every time it is started or when it wakes up after being put to sleep. 8.5 Check Disk-Validator ------------------------ When you insert a disk into the current drive BootX will first try to identify the bootblock. When this option is on, it will check the disk-validator also when it is on the disk. This way disk-validator viruses can be identified before they get into the system. NOTE: this option is especially effective when the current drive is locked !