home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Multimedia Magazine 7
/
Multimedia-No7-11-1995.iso
/
UTILS
/
VIRUS
/
TBAV637
/
TBAV.DOC
< prev
next >
Wrap
Text File
|
1995-08-08
|
409KB
|
10,549 lines
ThunderBYTE
Anti-Virus Utilities
version 6.37
USER MANUAL
The ThunderBYTE Anti-Virus Utilities are a product of:
ESaSS B.V.
P.O. Box 1380
6501 BJ NIJMEGEN
The Netherlands
COPYRIGHT (c) 1995 by: ThunderBYTE B.V.,
Wijchen, The Netherlands.
All rights reserved. No part of this manual may be reproduced, stored in
a retrieval system, or transmitted in any form, by print, microfilm, or
by any other means without written permission from ThunderBYTE B.V.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page i
Table of Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
A Word (or Two) of Thanks . . . . . . . . . . . . . . . . . . . 1
What Are the TBAV Utilities? . . . . . . . . . . . . . . . . . . 1
The TBAV Utilities User Interface . . . . . . . . . . . . . . . 5
Conventions Used in This Manual . . . . . . . . . . . . . . . . 6
How To Use This Manual . . . . . . . . . . . . . . . . . . . . . 6
1 TBAV QuickStart . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1 Installing the TBAV Utilities . . . . . . . . . . . . . . . 8
1.1.1 Understanding System requirements . . . . . . . . . . 8
1.1.2 Running INSTALL . . . . . . . . . . . . . . . . . . . 8
1.1.3 Installation on a network . . . . . . . . . . . . . 11
1.1.4 Starting And Ending TBAV . . . . . . . . . . . . . 11
1.1.5 Using TBAV Commands . . . . . . . . . . . . . . . . 14
1.1.6 Getting Help . . . . . . . . . . . . . . . . . . . 15
1.1.7 Configuring TBAV . . . . . . . . . . . . . . . . . 16
1.2 Understanding TbSetup . . . . . . . . . . . . . . . . . . 18
1.3 Understanding TbDriver . . . . . . . . . . . . . . . . . . 19
1.4 Maintaining the System . . . . . . . . . . . . . . . . . . 20
1.4.1 Maintaining ANTI-VIR.DAT Files . . . . . . . . . . 20
1.4.2 Creating a New Recovery Diskette . . . . . . . . . 20
1.4.3 Getting Updates . . . . . . . . . . . . . . . . . . 20
1.4.4 Maintaining a Network . . . . . . . . . . . . . . . 21
1.4.5 Using the PKUNZIP Utility . . . . . . . . . . . . . 22
2 Defining Your Anti-Virus Strategy . . . . . . . . . . . . . . . . 24
2.1 Protecting Yourself Against Virus Infection . . . . . . . 24
2.2 Recovering from Virus Infection . . . . . . . . . . . . . 29
3 Using the TBAV utilities . . . . . . . . . . . . . . . . . . . . 33
3.1 Using TbSetup . . . . . . . . . . . . . . . . . . . . . . 33
3.1.1 Understanding TbSetup . . . . . . . . . . . . . . . 33
3.1.2 Working with the TbSetup Menu . . . . . . . . . . . 34
3.1.3 Maximizing TbSetup . . . . . . . . . . . . . . . . 40
3.1.4 Understanding TbSetup's Operation . . . . . . . . . 44
3.1.5 Understanding TBSETUP.DAT Files . . . . . . . . . . 45
3.2 Using TbScan . . . . . . . . . . . . . . . . . . . . . . . 47
3.2.1 Understanding TbScan . . . . . . . . . . . . . . . 47
3.2.2 Working with the TbScan Menus . . . . . . . . . . . 48
3.2.3 Maximizing TbScan . . . . . . . . . . . . . . . . . 62
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page ii
3.2.4 Understanding the Scanning Process . . . . . . . . 72
3.2.5 Understanding Heuristic Flags . . . . . . . . . . . 76
3.3 Using TbDriver . . . . . . . . . . . . . . . . . . . . . . 78
3.3.1 Understanding TbDriver . . . . . . . . . . . . . . 78
3.3.2 Working with TbDriver . . . . . . . . . . . . . . . 78
3.3.3 Maximizing TbDriver . . . . . . . . . . . . . . . . 79
3.4 Using TbScanX . . . . . . . . . . . . . . . . . . . . . . 84
3.4.1 Understanding TbScanX . . . . . . . . . . . . . . . 84
3.4.2 Working with TbScanX . . . . . . . . . . . . . . . 84
3.4.3 Maximizing TbScanX . . . . . . . . . . . . . . . . 86
3.4.4 Understanding the Scanning Process . . . . . . . . 90
3.5 Using TbCheck . . . . . . . . . . . . . . . . . . . . . . 92
3.5.1 Understanding TbCheck . . . . . . . . . . . . . . . 92
3.5.2 Working with TbCheck . . . . . . . . . . . . . . . 92
3.5.3 Maximizing TbCheck . . . . . . . . . . . . . . . . 94
3.5.4 Understanding the Scanning Process . . . . . . . . 96
3.5.5 Testing TbCheck . . . . . . . . . . . . . . . . . . 96
3.6 Using TbClean . . . . . . . . . . . . . . . . . . . . . . 98
3.6.1 Understanding TbClean . . . . . . . . . . . . . . . 98
3.6.2 Working with the TbClean Menus . . . . . . . . . . 99
3.6.3 Using TbClean Command Line Options . . . . . . . . 101
3.6.4 Understanding the Cleaning Process . . . . . . . . 104
3.6.5 Understanding Cleaning Limitations . . . . . . . . 106
3.7 Using TbMem . . . . . . . . . . . . . . . . . . . . . . . 108
3.7.1 Introducing the TbMem, TbFile & TbDisk Utilities . 108
3.7.2 Loading TbMem, TbFile and TbDisk . . . . . . . . . 108
3.7.3 Using Command Line Options . . . . . . . . . . . . 110
3.7.4 Understanding TbMem . . . . . . . . . . . . . . . . 110
3.7.5 Working with TbMem . . . . . . . . . . . . . . . . 111
3.7.6 Maximizing TbMem . . . . . . . . . . . . . . . . . 112
3.7.7 Understanding TbMem's Operation . . . . . . . . . . 114
3.8 Using TbFile . . . . . . . . . . . . . . . . . . . . . . . 116
3.8.1 Understanding TbFile . . . . . . . . . . . . . . . 116
3.8.2 Working with TbFile . . . . . . . . . . . . . . . . 117
3.8.3 Maximizing TbFile . . . . . . . . . . . . . . . . . 117
3.9 Using TbDisk . . . . . . . . . . . . . . . . . . . . . . . 120
3.9.1 Understanding TbDisk . . . . . . . . . . . . . . . 120
3.9.2 Working with TbDisk . . . . . . . . . . . . . . . . 121
3.9.3 Maximizing TbDisk . . . . . . . . . . . . . . . . . 122
3.9.4 Understanding TbDisk's Operation . . . . . . . . . 125
3.10 Using TbUtil . . . . . . . . . . . . . . . . . . . . . . 126
3.10.1 Understanding and using TbUtil . . . . . . . . . . 126
3.10.2 Working with the TbUtil Menu . . . . . . . . . . . 127
3.10.3 Maximizing TbUtil . . . . . . . . . . . . . . . . 131
3.10.4 Using the Anti-Virus Partition . . . . . . . . . . 137
3.10.5 Using the TbUtil diskette . . . . . . . . . . . . 137
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page iii
3.11 Using TbLog . . . . . . . . . . . . . . . . . . . . . . . 139
3.11.1 Understanding and using TbLog . . . . . . . . . . 139
3.11.2 Working with TbLog . . . . . . . . . . . . . . . . 139
3.11.3 Maximizing TbLog . . . . . . . . . . . . . . . . . 141
3.12 Using TbNet . . . . . . . . . . . . . . . . . . . . . . . 143
3.12.1 Understanding TbNet . . . . . . . . . . . . . . . 143
3.12.2 Working with TbNet . . . . . . . . . . . . . . . . 143
3.12.3 Maximizing TbNet . . . . . . . . . . . . . . . . . 144
4 Understanding Advanced User Information . . . . . . . . . . . . . 147
4.1 Understanding Memory Considerations . . . . . . . . . . . 147
4.1.1 Understanding Memory Requirements . . . . . . . . . 147
4.1.2 Reducing Memory Requirements . . . . . . . . . . . 148
4.2 Understanding TbSetup . . . . . . . . . . . . . . . . . . 150
4.2.1 Understanding ANTI-VIR.DAT File Design . . . . . . 150
4.2.2 Editing the TBSETUP.DAT File . . . . . . . . . . . 150
4.2.3 Simplifying Installation on Several Machines . . . 152
4.3 Understanding TbScan . . . . . . . . . . . . . . . . . . . 153
4.3.1 Understanding Heuristic Scanning . . . . . . . . . 153
4.3.2 Understanding How Heuristic Scanning Works . . . . 155
4.3.3 Understanding Integrity Checking . . . . . . . . . 156
4.3.4 Understanding the Scan Algorithms . . . . . . . . . 157
4.3.5 Understanding the TBSCAN.LNG File . . . . . . . . . 159
4.3.6 Understanding the TBAV.MSG File . . . . . . . . . . 160
4.4 Understanding TbClean . . . . . . . . . . . . . . . . . . 161
4.4.1 Understanding how a Virus infects a file . . . . . 161
4.4.2 Understanding Conventional Cleaners . . . . . . . . 161
4.4.3 Understanding Generic Cleaners . . . . . . . . . . 163
4.5 Using TbGenSig . . . . . . . . . . . . . . . . . . . . . . 165
4.5.1 Understanding and using TbGenSig . . . . . . . . . 165
4.5.2 Working with TbGenSig . . . . . . . . . . . . . . . 165
4.5.3 Defining a Signature with TbScan . . . . . . . . . 166
4.5.4 Understanding Keywords . . . . . . . . . . . . . . 168
4.5.5 Understanding a Sample Signature: Haifa.Mozkin . . 173
Appendices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Appendix A: TBAV messages . . . . . . . . . . . . . . . . . . 175
A.1 TbClean . . . . . . . . . . . . . . . . . . . . . . . 175
A.2 TbDriver . . . . . . . . . . . . . . . . . . . . . . 177
A.3 TbScan . . . . . . . . . . . . . . . . . . . . . . . 178
A.4 TbScanX . . . . . . . . . . . . . . . . . . . . . . . 179
Appendix B: TbScan Heuristic Flag Descriptions . . . . . . . . 180
Appendix C: Solving Incompatibility Problems . . . . . . . . . 186
Appendix D: TBAV Exit Codes and Batch Files . . . . . . . . . 189
D.1 TbScan Exit Codes . . . . . . . . . . . . . . . . . . 189
D.2 TbUtil Exit Codes . . . . . . . . . . . . . . . . . . 189
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page iv
D.3 General Exit Codes . . . . . . . . . . . . . . . . . 189
D.4 Program Installation Check . . . . . . . . . . . . . 189
Appendix E: Virus Detection and Naming . . . . . . . . . . . . 191
E.1 How Many Viruses Does TbScan Detect? . . . . . . . . 191
E.2 The Virus Naming Convention . . . . . . . . . . . . . 191
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 1
Introduction
A Word (or Two) of Thanks
Congratulations! By purchasing the ThunderBYTE Anti-Virus utilities you
have taken the basic step in building a massive anti-viral safety wall
around your precious computer system. Setting up the appropriate defense
using the TBAV utilities is a personal matter. Therefore, we recommend
to read this manual thoroughly, so you are well aware of the different
kinds of security measures you can take.
What Are the TBAV Utilities?
ThunderBYTE Anti-Virus (TBAV) is a comprehensive tool kit designed to
protect against, and recover from, computer viruses. While TBAV focuses
heavily on numerous ways to prevent a virus infection, the package would
not be complete without various cleaner programs to purge a system, in
the unlikely event that a virus manages to slip through. The package,
therefore, consists of several programs, each of which helps you to
prevent viruses from accomplishing their destructive purposes. Here is a
quick overview.
TbSetup: Collecting Software Information
TbSetup is a program that collects information from all software it
finds on your system. It places this information in files named
ANTI-VIR.DAT and uses it for integrity checking, program validation,
and cleaning infected files.
TbDriver: Enable Memory Resident TBAV Utilities
While TbDriver provides little protection against viruses by itself,
you must load it in advance to enable the memory resident
ThunderBYTE Anti-Virus utilities to perform properly. These
utilities include: TbScanX, TbCheck, TbMem, TbFile, and TbDisk.
TbDriver also provides basic protection against ANSI bombs and
stealth viruses.
TbScan: Scanning for Viruses
TbScan is both a fast signature scanner and a so-called heuristic
scanner. Besides its blazing speed, it has many configuration
options. It can detect mutants of viruses, bypass stealth type
viruses, etc. The signature file TbScan uses is a coded TBSCAN.SIG
file, which you can update yourself in case of emergency.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 2
TbScan will disassemble files. This makes it possible to detect
suspicious instruction sequences and detect yet unknown viruses. As
pointed out earlier, this generic detection, named heuristic
analysis, is a technique that makes it possible to detect about 90%
of all viruses by searching for suspicious instruction sequences
rather than relying on any signature. For that purpose TbScan has a
built-in disassembler and code analyzer.
Another feature of TbScan is the integrity checking it performs when
it finds the ANTI-VIR.DAT files generated by TbSetup. Integrity
checking means that TbScan verifies that every file it scans
matches the information which was captured when the file was first
analyzed by TbSetup and is maintained in the ANTI-VIR.DAT files. If
a virus infects a file, the information in the ANTI-VIR.DAT file
will indicate that the file has been changed, and TbScan will inform
you of this. TbScan performs an integrity check automatically, and
it does not have the false alarm rate other integrity checkers have.
The goal is to detect viruses and NOT to detect configuration
changes!
TbScanX: Automatic Scanning
TbScanX is the memory resident version of TbScan. This signature
scanner remains resident in memory and automatically scans those
files that are being executed, copied, de-archived, downloaded, etc.
TbScanX does not require much memory. It can swap itself into
expanded, XMS, or high memory, using only one kilobyte of
conventional memory.
TbCheck: Check While Loading
TbCheck is a memory resident integrity checker that remains resident
in memory and automatically checks every file just before it
executes. TbCheck uses a fast integrity checking method, which
consumes only 400 bytes of memory. You can configure it to reject
files with incorrect checksums, and/or reject files that do not have
a corresponding ANTI-VIR.DAT record.
TbUtil: Restoring Infected Boot-Sector, CMOS and Partition Tables
Some viruses copy themselves into the hard disk's partition table,
which makes them far more difficult to remove than boot sector
viruses. Performing a low-level format is an effective, but rather
drastic measure.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 3
TbUtil offers a more convenient alternative by making a
precautionary backup of uninfected partition tables and the boot
sector. If an infection occurs, you can use the TbUtil backup as a
verifying tool and as a means to restore the original (uninfected)
partition table and boot sector, without the need for a destructive
disk format. TbUtil can also restore the CMOS configuration for you.
If a backup of your partition table is not available, TbUtil tries
to create a new partition table anyway, again avoiding the need for
a low-level format.
Another important feature of TbUtil is the option to replace the
partition table code with new code offering greater resistance to
viruses. TbUtil executes the partition code BEFORE the boot sector
gains control, enabling it to check this sector in a clean
environment. The TbUtil partition code performs a CRC calculation on
the master boot sector just before the boot sector code activates
and issues a warning if the boot sector has been modified. The
TbUtil partition code also checks and reports changes in the RAM
layout. It performs these checks whenever the computer boots from
the hard disk.
We should point out that boot sector verification is imperative
before allowing the boot sector code to execute. A virus could
easily become resident in memory during boot-up and hide its
presence. TbUtil offers total security at this stage by being active
before the boot sector executes. TbUtil is far more convenient than
the traditional strategy of booting from a clean DOS diskette for an
undisturbed inspection of the boot sector.
TbClean: Reconstructing Infected Files
TbClean is a generic file cleaning utility. It uses the ANTI-VIR.DAT
files generated by TbSetup to enhance file cleaning and/or to verify
the results. TbClean can also work without these files. It
disassembles and emulates the infected file and uses this analysis
to reconstruct the original file.
TbMem, TbFile and TbDisk: Resident Safeguards
The TBAV utilities include a set of memory resident anti-virus
utilities, consisting of TbMem, TbFile and TbDisk. Most other
resident anti-virus products offer you the choice to either invoke
them before the network loads (thereby losing the protection after
the logon procedure), or to load the anti-viral software after
logging onto the network, resulting in a partially unprotected
system. The TBAV utilities, on the other hand, recognize the network
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 4
software and utilize their auto-configuration capabilities to ensure
their continued functionality.
TbMem: Safeguarding Memory
TbMem detects attempts from programs to remain resident in memory
and ensures that no program can remain resident in memory without
permission. Since most viruses remain resident in memory, this is a
powerful weapon against all such viruses, known or unknown. TbMem
also protects your CMOS memory against unwanted modifications. The
ANTI-VIR.DAT files maintain a database of the permission
information.
TbFile: Executable File Protection
TbFile detects attempts from programs to infect other programs. It
also guards read-only attributes, detects illegal time-stamps, etc.
It ensures that no virus succeeds in infecting programs.
TbDisk: Protecting The Disk
TbDisk is a disk guard program that detects attempts from programs
to write directly to disk (that is, without using DOS), attempts to
format, etc., and makes sure that no malicious program succeeds in
destroying your data. This utility also traps tunneling and direct
calls into the BIOS code. The ANTI-VIR.DAT files maintain permission
information about those rare programs that write directly to and/or
format the disk.
TbGenSig: Define Your Own Signatures
Since TBAV includes an up-to-date, ready-to-use signature file, you
do not really need to maintain a signature file yourself. If,
however during a crisis, you need to define your own virus
signatures, then the TbGenSig utility enables you to do this. You
can use either published signatures or define your own if you are
familiar with the structure of computer code.
TbDel: Remove Infected Files
The DOS DEL or ERASE command does not actually erase a file. It
simply deletes the first filename character in the directory listing
and frees up the space by changing the disk's internal location
tables (File Allocation Tables). TbDel is a small program with a
single, yet all-important purpose: it overwrites every single byte
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 5
in a file with the zero character (0) before deleting it, thereby
obliterating all the data and making it totally unrecoverable.
TbMon: Installed Device Checker
To check for the presence of the resident TBAV utilities (TbScanX,
TbCheck, TbMem, TbFile, TbDisk or TbLog) in batch files or login
scripts, you can use the TbMon utility. TbMon returns a DOS error
level, depending on the installed ThunderBYTE resident programs.
The following list specifies the ThunderBYTE resident utilities and
their respective error levels:
+------------+-----------+
|Utility Name|Error level|
+------------+-----------+
| TbScanX | 1 |
| TbCheck | 2 |
| TbMem | 4 |
| TbFile | 8 |
| TbDisk | 16 |
| TbLog | 32 |
+------------+-----------+
The error level returned by TbMon is the cumulative sum of the error
levels of the installed devices. For example, if you have TbScanX
and TbMem installed, TbMon will return error level 5 (1+ 4 = 5).
Another example: if you have all utilities loaded, TbMon will return
error level 63 (1+2+4+8+16+32=63). If none of the resident
ThunderBYTE utilities are installed, TbMon will return error level 0
(zero).
The TBAV Utilities User Interface
The DOS version of TBAV utilizes a menu-driven interface that enables you
to execute the utilities easily. You can also execute many of the
utilities directly from the DOS prompt. One advantage to this is that you
can use the utilities in batch files.
The Microsoft Windows version of TBAV utilizes the standard Windows
interface, providing you a way to protect yourself from viruses while
still working in the user-friendly Windows environment. TBAV-for-Windows
is not described in this document. Please refer to the TBAV-for-Windows
documentation for more information.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 6
Conventions Used in This Manual
This manual uses several special conventions:
References to the keyboard are as they appear on the 101-key
enhanced keyboard. File names, DOS commands, emphasized words, and
information that you are to type appears in UPPERCASE letters. The
context should clearly dictate which of these is true in each case.
References to individual TBAV utilities use a combination of
uppercase and lowercase letters. For example, while TBSCAN.SIG
refers to a signature file, TbScan refers to the utility itself.
How To Use This Manual
This manual consists of six chapters.
Chapter 1 provides you with the fastest way to get started with the
TBAV utilities. It presents the major features of the program in a
step-by- step format. We recommend that you start with this chapter.
Chapter 2 contains instruction on how to prevent viruses from
infecting your computer system and directions on how to handle
viruses when they do strike. We recommend that you also read this
chapter because it contains several useful tips.
Chapter 3 contains a detailed description of both the purpose and
functionality of all the TBAV for DOS utilities.
Chapter 4 contains advanced user information for those users who
are more technically oriented.
This manual also contains five appendices. Appendix A describes TBAV
messages, Appendix B describes heuristic flags, Appendix C addresses some
incompatibility problems, Appendix D lists various exit codes for use in
batch files, and Appendix E contains information on naming viruses.
Finally, the Index provides you with the means of quickly finding any
major topic.
NOTE:
A complete reading of this manual is indispensable in order to
become familiar with the many facets of the ThunderBYTE AntiVirus
utilities; to know what steps you can, and must, take to ensure
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 7
adequate protection and be fully prepared for a complete recovery,
if and when disaster strikes.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 8
1 TBAV QuickStart
One of the problems with software manuals is they sometimes beat around
the bush and don't get to the point, namely, how to use the software
right now. This chapter presents the major features of TBAV and will get
you up and running in the minimum amount of time.
1.1 Installing the TBAV Utilities
This section provides the initial installation instructions of the TBAV
utilities for DOS. See the TBAV for Windows documentation for installing
TBAV for Windows or the TBAV for Networks documentation for installing
TBAV for Networks.
1.1.1 Understanding System requirements
The ThunderBYTE Anti-Virus utilities will run on any IBM or compatible PC
that meets the following requirements:
At least 1 megabyte of disk space
256 kilobytes of free internal memory
DOS version 3.0 (DOS 5.0 or later recommended)
A mouse is optional
NOTE:
The TBAV utilities are compatible with networks, MS-Windows,
Novell-DOS, etc.
1.1.2 Running INSTALL
You can install the TBAV utilities either by using the following instal-
lation procedure or by a fully customized procedure that you ll find in
Chapter 2. To use the fast approach, follow these steps:
1. Insert the TBAV installation diskette in the diskette drive, type
A: or B:, and press the ENTER key.
2. Type INSTALL and press ENTER. After a few seconds, the following
window appears:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 9
+-------------------------+
| Quit Installation |
| View TBAV.DOC file > |
| License TBAV > |
| Upgrade TBAV > |
| Custom Installation > |
| Express Installation > |
+-------------------------+
3. Since this is your first time to install the TBAV package you
choose the first option, which is already highlighted, so just press
ENTER. Notice also that you can always select a menu option by
pressing its first letter. Install now displays the Licensing
Agreement.
4. Press the cursor movement keys (up and down arrows and Page Up
and Page Down) to view the Agreement. When you finish reading the
agreement, press ESC. Install now asks you to acknowledge the
Agreement.
NOTE:
You can exit Install at anytime by pressing the ESC key until you
get to the Main Menu or even to the DOS prompt.
5. Select the Your Name field, type in your name, and press ENTER.
6. Select the company field and repeat the procedure to enter your
company name.
7. Press I to select the Terms field, type in YES to accept the
agreement, and press ENTER. The Install Menu now appears.
8. While you will probably accept the defaults, if you need to
change the source path (the path where the installation program
itself resides, usually drive A:) or the default Destination path
(where Install places the TBAV program files, usually C:\TBAV),
select the field, make your changes, and press ENTER.
9. Press B (or highlight Begin Installation and press ENTER) to
begin the installation. Install now scans your system to ensure that
it is clean (that is, no files are infected by a virus) and
informs you when it is done.
10. Press any key to continue. Install now copies the TBAV files to
the destination directory and makes a backup of your AUTOEXEC.BAT
file before making a few modifications to it. The installation
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 10
program adds the TBAV directory to your PATH and adds a statement
that will automatically run the TBSTART.BAT file.
NOTE:
The TBSTART.BAT file, which resides in the TBAV directory, contains
the following commands:
C:\TBAV\TBDRIVER
C:\TBAV\TBSCANX
C:\TBAV\TBCHECK
C:\TBAV\TBMEM
C:\TBAV\TBFILE
C:\TBAV\TBSCAN ONCE ALLDRIVES
You can configure these commands to suit your own personal needs.
Notice:
Install now displays a message that Recommends that you create a
Recovery Diskette, which you can use in the future, for example, to
restore your destroyed CMOS data, or restore your hard disk's
partition table after it has been tampered with.
11. Press any key to continue to the Final Menu. To create a
Recovery Diskette, press M, insert a clean formatted diskette into
Drive A, and press any key to continue. TBAV now copies the system
files to the diskette. See the Prepare a Recovery Diskette section
in Chapter 2 for more information. If you do not want to create a
Recovery Diskette, press Q to Quit Install.
12. When TBAV finishes, press any key to continue. TBAV invokes
TbSetup to generate an ANTI-VIR.DAT file for drive A and returns you
to the Final Menu.
13. Press Q to Quit Install. Install now invokes TbSetup again to
generate the ANTI-VIR.DAT reference files for your hard disk and
then returns you to the DOS prompt.
CAUTION:
It is extremely likely that some of the TBAV utilities are going to
display messages if you now reboot and continue using the computer
as you normally would. This is because some programs perform
operations that the TBAV utilities monitor. TBAV, therefore, needs
to learn which programs need proper permission. Before rebooting,
execute some of the programs you use regularly and respond
appropriately when TBAV requests permission to authorize or deny
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 11
their use. TBAV remembers the settings and will not bother you
again. Reboot the computer at the end of this test run.
14. After running some of the programs you use regularly (see
Caution box above), reboot your system.
The TBAV utilities are now ready to monitor your system and will issue a
warning if something suspicious (or worse!) is about to happen. The TBAV
utilities also warn you if any new file contains a possible virus, well
before it can do any harm.
1.1.3 Installation on a network
If a workstation does not have a hard disk, you can invoke the TBAV
utilities from a login script. You create a TbStart.Bat file containing
the following:
@echo off
x:\apps\tbav\tbdriver.exe
x:\apps\tbav\tbscanx.exe
x:\apps\tbav\tbcheck.exe
x:\apps\tbav\tbfile.exe
x:\apps\tbav\tbmem.exe
x:\apps\tbav\tbscan.exe alldrives
exit
In the login script add the following line:
#x:command.com /c /x:\apps\tbav\tbstart.bat
NOTE:
You need to enter the correct drive ID for 'X:'!
1.1.4 Starting And Ending TBAV
You can run TBAV in two ways: run the menu interface or run individual
utilities from the DOS prompt.
Starting TBAV With the Menu Interface
You can access most of the TBAV utilities from within the TBAV menu. To
start TBAV with the menu, follow these steps:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 12
1. At the DOS prompt, type CD \TBAV and press ENTER. This places you
in the TBAV directory.
NOTE:
This first step is actually optional since the TBAV directory was
added to the PATH during installation. You would need this step,
however, if you ever decided to remove that directory from the PATH.
2. Type TBAV and press ENTER. This starts TBAV and displays the menu
interface.
3. A common task is to scan your hard disk for viruses. To do this,
press S on the "Main Menu" to select the TbScan command. Press S
again to select the "Start Scanning" command on the TbScan Menu.
Press D on the "Path Menu" and press ENTER.
4. If TbScan finds a virus, it presents an action menu. "D)elete"
deletes the infected file. "K)ill" also deletes the infected file,
but in such a way that it can't be undeleted by an undelete utility
(such as DOS's UNDELETE command). "R)ename" renames an EXE extension
to VXE and a COM extension to VOM, preventing the execution of
infected programs and thereby precluding the spread of an infection,
and also enabling you to keep the file for later examination and
repair. "C)ontinue scanning" continues the scan without taking
action on the virus. "N)onstop continue" instructs TbScan not to
stop when it detects a virus.
NOTE:
If you use C or N, we recommend that you select L on the "TbScan
Menu" and then O on the "TbScan Log Menu" so that TbScan will log
detected viruses. To view this log, select V from the "TbScan Menu."
5. Another common task is to scan a diskette. To scan a diskette in
drive A, press A, or to scan a diskette in drive B, press B.
6. You can use one of three methods to end TBAV:
Press X to exit and save any configuration settings
you have set
Press Q to exit without saving any configuration
settings
Press ESC, which is the same as pressing Q
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 13
Starting TBAV Utilities from the DOS Prompt
You can also start each of the individual TBAV utilities directly from
the DOS prompt by typing the command name followed by one or more options
(or switches) to control special features. You can use either the full
name of the option or its one- or two-letter mnemonic to shorten the
command line.
For example, if you want to use TbScan to scan for viruses on your hard
disk, you could execute either one of the following commands:
TBSCAN ALLDRIVES
TBSCAN AD
The advantage of being able to execute individual utilities is that you
can use the utilities in batch files to create your own custom routines.
A simple example of this is putting TbScan in your AUTOEXEC.BAT file so
that it will scan for viruses when you boot up. To accomplish this, do
the following:
1. If you are using DOS 5 or later, type CD\ and press ENTER to go
to the root directory. Now type EDIT AUTOEXEC.BAT and press ENTER to
load this file into the MS-DOS text editor Edit.
NOTE:
If you are using a version of DOS prior to version 5.0, consult your
DOS manual on how to edit AUTOEXEC.BAT. You might have your own text
editor that you can use, or you could even use a word processor to
edit the file and then save it as an ASCII text file. Consult your
word processor's documentation for instructions.
2. Add the following line to the beginning of the file, making sure
you separate the options from the command and from each other using
a space:
C:\TBAV\TBSCAN AllDrives Once
3. Press ALT, F, S to save the file again, and then press ALT, F, X
to exit the editor (that is, if you are using the MS-DOS text editor
EDIT; otherwise, use the commands of your favourite editor to save
the file, and to exit the editor).
4. Reboot your computer so the changes will take effect.
CAUTION:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 14
This line already exists in the TBSTART.BAT file, which runs
automatically from AUTOEXEC.BAT. If you don't want to load all the
TSR utilities that TBSTART.BAT loads, you could replace TBSTART.BAT
with the above TBSCAN command. While this is still good protection,
be aware that it doesn't fully protect your system. Refer to the
Configuring TBAV section later in this chapter for more information
on configuring TBAV.
Now the first time you boot your computer on a given day, TbScan
will check for viruses on all fixed drives. Because of the OO
option, however, if you boot again, you'll receive the Option once
already used today message, meaning that since TbScan has already
run once that day, it will not run again.
Another useful TBAV utility, not just for deleting infected files but any
files you want destroyed, is TbDel. This utility overwrites every byte of
a file with a nul character, thereby completely obliterating the file.
If, for security reasons, you have files you want to destroy and prevent
someone from undeleting using a file recovery program, enter the
following command:
TBDEL [filename]
WARNING:
Be absolutely sure you want to destroy a file before using TbDel.
Once you execute the command, the file is gone forever, and no file
recovery utility can bring it back.
1.1.5 Using TBAV Commands
There are many commands in The TBAV Utilities, but most of them are
available from the menu. You can select commands using either the
keyboard or the mouse. To select a command, do one of the following:
Highlight an option using the arrow keys and press Enter
Press the highlighted letter of a command
Move the mouse pointer to a command and click the left button
As mentioned earlier, you can use all TBAV commands directly from the DOS
prompt. You must separate the command from the first option and options
from each other using a space. You can use the standard slash (/)
character or hyphen (-) before an option, but it is not necessary.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 15
The standard command line syntax for all ThunderBYTE Anti-Virus commands
is:
COMMAND [<path>][<filename>] [<option>] [<option>]
where <path> and <filename> is where you want the command to execute and
<option> is the specific option you want to use. For example, the
following command executes a virus scan on all executable files in the
root directory of drive C: and all subdirectories and skips the boot
sector scan:
TBSCAN C:\ NOBOOT
1.1.6 Getting Help
TBAV enables you to get help at any time, whether you are working from
the menu or the DOS prompt.
Getting Help From the Menu
To get help at anytime while working from the TBAV menu, follow these
steps:
1. From the Main Menu, select Documentation.
2. From the Documentation menu, select TBAV User Manual.
3. Use the up and down arrow keys and Page Up and Page Down to move
through the manual.
4. Press ESC to exit the manual.
TIP:
Instead of using the internal file viewer to view the User Manual,
you can substitute your own favorite viewer. See the Configuring
TBAV section later in this chapter for details.
Getting Help at the DOS Prompt
To get help about proper syntax when working with individual TBAV
utilities, do one of the following:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 16
Type the name of the command followed by a question mark (?), TBSCAN
?, for example. Some commands (TbClean, TbDel, and TbUtil) display
the Help screen if you type the command name only.
Each command also displays the help screen if you issue the command
with an invalid option.
1.1.7 Configuring TBAV
The choices you made when installing the TBAV utilities might need a
little fine tuning. You might want to edit AUTOEXEC.BAT, as mentioned
earlier, for example, or you might want to edit TBSTART.BAT file, which
AUTOEXEC.BAT executes.
Additionally, you might want to change how TBAV operates within the menu
interface. This section explains how you can configure the TBAV utilities
and use them the way you prefer. The following sections explain how to
customize TBAV.
NOTE:
After making certain changes and then initializing and rebooting
your system, TBAV needs to be "trained" as it encounters new TSR's.
NOTE:
Options that have a check mark beside them indicate that they are
selected. Options may be toggled by selecting: the highlighted
letter, clicking on them with your mouse or moving the highlight bar
with your cursor keys and then pressing Enter.
+-----Main menu-----+
| Confi+----------TBAV configuration---------+
| TbSca|v Use colors |
| TbSet| Save configuration to TBAV.INI |
| TbUti| File view utility |
| TbCLe|v Wait after program execution |
| Virus| Show command line before executing |
| TBAV |v Edit path string before scanning |
| Docum+-------------------------------------+
| Register TBAV |
| About |
| Quit and save |
| eXit (no save) |
+-------------------+
The "Use Colors" Option
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 17
If you disable this option, that is, select it so the check mark
disappears, TBAV appears in monochrome mode, which is convenient for use
on laptop and notebook computers. When you select the Configure TBAV
option from the Main Menu, the Configuration menu appears:
The "Save Configuration to TBAV.INI" Option
When you select this option, TBAV saves all configuration values set
within the TBAV menu in the TBAV.INI file. The next time you load the
TBAV utilities, these configuration values take effect. These values
apply to the TBAV menu itself and the utilities TbSetup, TbScan and
TbClean.
Although you can edit the TBAV.INI file manually, we recommend that you
allow the TBAV menu to do it. By default, the contents of the TBAV.INI
file are valid only while using the TBAV menu shell. You can, however,
enable the Use TBAV.INI file options (or specify the USEINI switches in
the TBAV.INI file itself) for each of the TBAV utilities.
For example, to use the settings in TBAV.INI with TbScan, you would
follow these steps:
1. Select TbScan from the Main Menu. This displays the TbScan Menu.
2. From this menu, select the Options Menu option.
3. From this menu, select the Use TBAV.INI option and notice that a
check mark appears beside it.
After selecting this option, TbScan also uses the TBAV.INI when you
run TbScan from the DOS prompt. The same is true if you select this
option for TbSetup and TbClean.
CAUTION:
Be careful, since command line options do NOT undo TBAV.INI
settings. TBAV creates a TBAV.INI file when enabling this option for
the first time. This file lists all valid configuration switches.
Additionally, a semicolon precedes disabled switches.
The "File View Utility" Option
TbSetup and TbScan generate a data file and a log file respectively. By
default, you can view these files, as well as the TBAV documentation
mentioned earlier, from the TBAV menu using TBAV's internal file view
utility.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 18
If you prefer, however, you can specify your own file viewing utility. To
do this, follow these steps:
1. Press F to select the File View Utility option.
2. Type in the complete path and the file name, including the
extension, of the utility you want to use (e.g.,
C:\DIRNAME\VIEWER.EXE), and press ENTER.
The "Wait After Program Execution" Option
If you enable this option, TBAV displays the message "Press any key to
return to the TBAV menu..." after executing an external utility.
The "Show Command Line Before Executing" Option
Enabling this option forces TBAV to display the DOS command that loads
the external file viewing utility. This option comes in handy for
enabling you to see the command(s) you specified before. After pressing
ENTER, TBAV then executes the DOS commands.
The "Edit Path String Before Scanning" Option
If you enable this option, TBAV prompts you to edit or confirm the path
to scan after you select Start Scanning from a scan menu.
1.2 Understanding TbSetup
By way of analogy, if you think of TbScan as being the heart of TBAV, you
can think of TbSetup as being the skeleton. TbSetup collects information
from all software it finds on your system and places this information in
files, one in each directory, named ANTI-VIR.DAT and uses this informati-
on for integrity checking, program validation, and cleaning infected
files.
WARNING:
NEVER, NEVER, NEVER use TbSetup when there is the slightest evidence
of a virus on your system.
Since TbSetup was run during the installation program, it is not really
necessary for you to run it again. In fact, the less you run it the
better. The only time you should run TbSetup again is in directories with
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 19
new or changed program files. Assume you just added a new program to your
system, which installed into a new directory called NEWPRO. To run
TbSetup on that new directory, you could execute one of the following
procedures:
From the TBAV Main Menu, select TbSetup, select Start TbSetup from
the TbSetup Menu, type in C:\NEWPRO as the path to process, and then
press ENTER.
From the DOS prompt, enter TBSETUP C:\NEWPRO and press ENTER.
See the "Using TbSetup" section in Chapter 3 for more information about
using TbSetup.
WARNING:
NEVER, NEVER, NEVER use TbSetup when there is the slightest evidence
of a virus on your system.
1.3 Understanding TbDriver
TbDriver is a small memory resident (TSR) program that you must load
before loading any of the other five TBAV memory resident programs, which
include: TbScanX, TbCheck, TbMem, TbFile, and TbDisk. Chapter 3 fully
explains all of these programs, but to conclude our earlier analogy, if
TbScan is the heart of TBAV, and TbSetup is the skeleton, then TbDriver
and the other TSRs are the muscles. They simply wait in memory until
called into action. When they detect suspicious code or other
irregularities, they immediately inform you and take appropriate action.
TBAV Install places a call to TBSTART.BAT in your AUTOEXEC.BAT file so
that all of these TSRs, except TbDisk, load automatically when you boot.
For maximum security, we recommend that you allow these utilities to load
and remain in memory.
TIP:
If you prefer, you can put the memory resident utilities listed in
TBSTART.BAT in your CONFIG.SYS file. Remove the call to TBSTART.BAT
from AUTOEXEC.BAT, and then use a DEVICE= command in CONFIG.SYS for
each utility. Don't forget to use the full path and to specify the
.EXE extension. If you are using DOS 5 or higher, you can load these
utilities into upper memory using the
LOADHIGH command in either TBSTART.BAT or CONFIG.SYS.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 20
1.4 Maintaining the System
All systems need maintenance, and the TBAV utilities are no different.
This section, therefore, describes how to maintain the TBAV utilities.
1.4.1 Maintaining ANTI-VIR.DAT Files
Whenever you add, update or replace programs on your system, be sure to
use TbSetup to generate or update their fingerprints in the ANTI-VIR.DAT
files. See the Using TbSetup section earlier in this chapter and the
Using TbSetup section in Chapter 3 for more information.
1.4.2 Creating a New Recovery Diskette
There will be times when you will want to create a new recovery diskette.
This will be necessary, for example, when you install a new version of
DOS because this changes the boot sector. You should also do this if you
change the configuration of your hard disk because this can affect the
partition tables and the CMOS setup. You should prepare a new recovery
diskette after all system modifications. See the Prepare a Recovery
Diskette section in the next chapter for more information.
1.4.3 Getting Updates
As new viruses emerge, which is almost daily, you need to replace
TbScan's signature file (TBSCAN.SIG) periodically with a more up to date
one. You can get the latest signature file from your local ThunderBYTE
dealer. Subscribing to the ThunderBYTE update service at your local
dealer is a convenient way to guarantee the delivery of each new update.
You can also download the file directly from the ThunderBYTE support
Bulletin Board Systems (BBS).
To download updates, follow these steps:
1. Using your telecommunications program, dial the BBS phone number.
2. When the modem logs on, press the ESC twice to go to the
ThunderBYTE On-line Service.
3. From the File Menu select Download Latest ThunderBYTE Anti-Virus
Utilities .
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 21
4. Select the File Transfer Protocol "zmodem" or "ymodem" from the
Protocol Menu to select the file protocol you want to use, and then
begin your download procedure.
Additionally, you can check with a local bulletin board regularly, as
many of them offer updated versions of our software.
We issue the standard complete release in an archive named: TBAVxxx.ZIP,
where xxx represents the three-digit version number. The archive
extension might vary on local bulletin boards using a different archive
method.
The release of TBAV for Windows is archived in a file named:
TBAVWxxx.ZIP. Again, xxx represents the three-digit version number of
TBAV for Windows. The same holds for the release of TBAV for Networks; it
is distributed in a file called TBAVNxxx.ZIP.
To maintain the highest reliability, the Dutch and US ThunderBYTE support
sites issue regular beta releases, also containing only the files that
have changed. You can identify beta versions by a B in the filename,
such as TBAVBxxx.ZIP.
The resident ThunderBYTE Anti-Virus utilities are also available in
processor optimized formats. These processor optimized versions, named
TBAVXxxx.ZIP, are for registered users only. You can buy these versions
through your local ThunderBYTE dealer.
NOTE:
The ThunderBYTE Anti-Virus utilities currently support several
languages, by means of separate language files. Check your local
ThunderBYTE dealer for the availability of the TBAV support file in
your language.
1.4.4 Maintaining a Network
Since you should replace the signature file TBSCAN.SIG frequently, this
can turn into much work if you have to update all workstations on a
network manually. Fortunately, there are several possibilities to do this
job automatically.
Using the TbLoad Utility
The TbLoad utility that ships with TBAV for Windows is used to
automatically update the existing ThunderBYTE Anti-Virus software
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 22
installed on your system. Please refer to the section about TbLoad in the
TBAV for Windows documentation.
Using the DOS REPLACE Command
Maintain a directory \TBAV_UPD\ on a public server drive and place any
new version of the TBAV utilities or any new signature file (TBSCAN.SIG)
in this directory.
The workstations should execute a batch file automatically after users
login on the network. This batch file should contain the following lines:
REM UPDATE TBAV IF A NEW RELEASE IS AVAILABLE.
REPLACE X:\TBAV_UPD\*.* C:\TBAV /U /R
REPLACE X:\TBAV_UPD\*.* C:\TBAV /A /R
REPLACE is a standard DOS utility. If the /U option is specified, it
copies the files specified by the first parameter ONLY if they are newer
than the files specified in the second parameter. The /A option makes
sure that REPLACE copies files that do not yet exist in the destination
directory (specified by the second parameter). Make sure REPLACE is in
the current path, and that the specified paths are valid for your
configuration. The x in the above example represents the drive letter
of the public server drive.
Using this technique, you only have to update one drive with the new
signature file or anti-virus software; all workstations will then update
themselves when users login! You can also add the /S option if you want
REPLACE to scan all directories on the workstations drives for matching
files. Please consult your DOS Operating System manual for more details.
WARNING:
Don't forget to execute TbSetup on the new utilities in the
X:\TBAV_UPD directory, thus ensuring that the REPLACE command also
copies the new ANTI-VIR.DAT file.
1.4.5 Using the PKUNZIP Utility
Maintain a directory \TBAV_UPD\ on a public server drive and place any
new version of the TBAV utilities or any new signature file (TBSCAN.SIG)
in this directory.
The workstations should execute a batch file automatically after users
login on the network. This batch file should contain the following lines:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 23
REM UPDATE TBAV IF A NEW RELEASE IS AVAILABLE.
PKUNZIP -N -O X:\TBAV_UPD\TBAV???.ZIP C:\TBAV
Make sure the file PKUNZIP.EXE is in the current path, and that the paths
specified are valid for your configuration.
Following this procedure, the PKUNZIP command comes into action only when
you just updated the ZIP files in the X:\TBAV_UPD directory. Now you only
have to update one drive with the new anti-virus software, and all
workstations update themselves when users login.
WARNING:
If you did not create a Recovery Diskette during installation, we
recommended that you do so. See the "Create a Recovery Diskette"
section in Chapter 2 for instructions on how to do this. The example
setups assume you have created such a recovery diskette.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 24
2 Defining Your Anti-Virus Strategy
In this chapter, you learn how to accomplish two things: how to protect
yourself against virus infection, and how to recover from virus
infection. We recommend you read this chapter because it contains several
useful tips.
2.1 Protecting Yourself Against Virus Infection
Maintaining a reliable safety system implies that you actively take
measures to protect your system from virus infection, since some viruses
can hide themselves perfectly once resident in memory.
TIP:
At least once a week you should boot from a clean and
write-protected diskette and execute TbScan to check your computer
for virus infections.
The tightness of your safety system really depends on two things:
1. The vitality of the appropriate computer system
2. The amount of time you want to invest to let the safety measures
take place
For example, on a standalone computer containing low risk data, and in an
environment with little exchange of computer software, a daily scan is
usually sufficient. For company use, however, in a network environment
where users exchange diskettes frequently, where disks contain highly
vulnerable information, and where a network going down means the loss
of an extensive amount of money, protection must be as tight as the
organization can practically handle.
With this in mind, it's impossible to define one strategy for system
protection that will work for everybody. It all depends on your demands
and possibilities.
The TBAV utilities, however, are extremely flexible and enable you to
define your own strategy, one that will work for your special needs.
Although the following six basic precautions are NOT intended to be a
complete protection system, they do provide a foundation on which you can
build your own strategy.
1. Install TBAV on your hard disk
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 25
You can customize the installation to suit your specific needs. Be
sure to use TbSetup to maintain recovery information of all
executable files of your system! Refer to the Installing the TBAV
Utilities section in Chapter 1 for details.
The following examples assume that all utilities reside in the
default directory \TBAV. All example setups require that TbSetup is
running. If your system has more hard disks or disk partitions, you
should repeat the TbSetup invocation for every drive or partition.
TIP
Remember that you can use the ALLDRIVES and ALLNET options to
make TbSetup process all local respectively remote
non-removable drives.
Furthermore, the example setups assume you have created a recovery
diskette.
2. Prepare a recovery diskette
It is imperative to have a clean recovery diskette to recover from
virus infection. If you didn't create a recovery diskette during the
TBAV installation, take a few minutes to prepare one now. Later,
when a virus infects your system, it's too late! To create a
recovery diskette, follow these steps:
1. Insert a new diskette in drive A:, and then change to the
DOS directory by typing CD \DOS and pressing ENTER.
2. Type FORMAT A: /S, and press ENTER. The /S switch copies
the DOS system files to the disk so you can boot the computer
with it.
3. Type COPY SYS.COM A: and press ENTER. This copies the
SYS.COM program, which is the program that DOS uses to copy its
system files to a disk.
4. Type CD \TBAV to return to the TBAV directory.
5. Type MAKERESC A: and press ENTER to create a recovery disk
in drive A.
WARNING:
If your computer has two floppy disk drives, be sure you
know which one is drive A and create your recovery disk
there. A PC never tries to boot from drive B.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 26
The MAKERESC.BAT procedure creates a reliable recovery diskette
by creating or copying the following:
- A backup of the boot sector, partition sector and CMOS
configuration.
- A CONFIG.SYS file, containing:
FILES=20
BUFFERS=20
DEVICE=TBDRIVER.EXE
DEVICE=TBCHECK.EXE FULLCRC
- An AUTOEXEC.BAT file, containing:
@ECHO OFF
ECHO OFF
PATH=A:\
TBAV
CLS
ECHO WARNING!!!
ECHO IF YOU SUSPECT A VIRUS, DO NOT EXECUTE
ANYTHING FROM THE HARD DISK!
- The following files:
TBAV.EXE
TBAV.LNG
TBSCAN.EXE
TBSCAN.LNG
TBSCAN.SIG
TBDRIVER.EXE
TBDRIVER.LNG
TBCHECK.EXE
TBCLEAN.EXE
TBUTIL.EXE
TBUTIL.LNG
6. Copy to the diskette any other utilities that could come in
handy in an emergency, such as a simple editor to edit
CONFIG.SYS and AUTOEXEC.BAT files. If your hard disk needs
special device drivers to unlock added features, such as
DoubleSpace or Stacker, copy the appropriate drivers to the
recovery diskette and install them in the CONFIG.SYS file on
drive A:, being careful to avoid statements that access the
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 27
hard disk. Be sure to check the instructions in the device
driver's manual for the correct procedures.
CAUTION:
If you are using the text editor that ships with DOS 5.0
or later, be sure to not only copy the file EDIT.COM to
drive A:, but also QBASIC.EXE, which EDIT.COM uses.
7. Make sure you write protect your recovery disk. Now label it
"Recovery Disk" and include on the label the identification of
the PC to which the diskette belongs. Store the diskette in a
safe place.
TIP:
For additional security, make another recovery diskette
and store it in a separate location.
3. Prevent the Installation of Unauthorized Software
Many companies do not allow employees to install or execute
unauthorized software. Similarly, perhaps you want to keep family
members from invading your computer with haphazard games and sundry
software. TBAV provides a watchdog function that can help to enforce
this. Follow these steps:
1. First you need to add the following lines to the CONFIG.SYS
file:
DEVICE=C:\TBAV\TBDRIVER.EXE
DEVICE=C:\TBAV\TBCHECK.EXE SECURE
Alternately, if you are using the TBSTART.BAT file, then you
would add the following two lines to it:
C:\TBAV\TBDRIVER
C:\TBAV\TBCHECK SECURE
2. Run TbSetup on the system by typing "TBSETUP ALLDRIVES" and
pressing ENTER.
3. Reboot the system.
From now on, TbCheck puts an effective clamp on any user who tries
to execute software that TbSetup has not duly authorized first.
Whenever someone is trying to execute an unknown program, TBAV
displays the following message:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 28
+-----------TBAV Interception-----------+
| The requested program (GAME.EXE) |
| is not authorized and can not be |
| executed. |
| Execution cancelled! Press any key... |
+---------------------------------------+
4. Restrict User Access
Most of the TBAV utilities are interactive; that is, they
communicate with a knowledgeable user to establish appropriate
action in ambiguous situations. Many companies, however, insist that
the system operator be the sole authority allowed to communicate
with TBAV, and so avoid wrong doing by possibly inept employees.
It is for this very reason that most of the TBAV utilities support
the SECURE option. When you specify this option, TBAV suspends all
user interaction with the utilities. In other words, TBAV never asks
users for permission to allow questionable operations, avoiding
erroneous decisions that might well result in irreparable havoc.
This option also prevents the user from disabling or unloading the
TBAV utilities.
5. Never Use "Strange" Diskettes to Boot
Boot only from your hard disk or from your original DOS diskette.
NEVER use someone else's disk to boot the computer. If you have a
hard disk, make certain that the door to your floppy drive is open
before resetting or booting the machine.
6. Run the DOS CHKDSK Command Often Use the DOS program CHKDSK
frequently (without the /F switch). CHKDSK can sometimes indicate
the presence of a virus simply because some viruses change the disk
structure incorrectly, thereby causing disk errors in the process.
Look out for changes in the behavior of your software or your PC.
Any change in their behavior is suspect, unless you know its cause.
Some highly suspicious symptoms are:
A decrease in the amount of available memory space.
CHKDSK should report 655,360 total bytes of memory.
Programs require more time to execute.
Programs do not operate as they used to, or they cause
the system to crash or reboot after some time.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 29
Data mysteriously disappears or becomes damaged.
The size of one or more programs has increased.
The screen behaves strangely or displays unusual
information.
CHKDSK detects many errors.
TIP:
You can also instruct TbScan to mimic the behavior of the DOS
command CHKDSK. Simply execute TbScan with the fatcheck option
enabled. For example, if you want TbScan to scan your C: and D:
drive once a day, and to check the integrity of those disks,
place the following command in your AUTOEXEC.BAT file:
TbScan C:\ D:\ FATCHECK ONCE
2.2 Recovering from Virus Infection
This section presents some tips on how to clean your computer system when
it is has been compromised by a virus.
1. Backup Your Data
The very first thing to do when you realize that your system might
be infected is to back up all important files immediately. Label the
new backup as unreliable, since some of the files might be infected.
CAUTION:
Use fresh backup media and do not overwrite a previous backup
set. You might need the previous set to replace lost or
contaminated files.
2. Boot From a Recovery Diskette
When you become aware of a virus infection, it is imperative that
you boot only from a reliable, write protected recovery system
diskette.
3. Know the Symptoms of a Virus
Now execute TbScan for an indication of what is wrong, or boot from
a recovery diskette and compare its system files with those on the
hard disk to check for changes. During this test you should take
care to stay logged onto your system diskette.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 30
TbScan reports the virus name if it knows the virus, or it gives a
summary of file changes if it can't identify the virus. If you use
the command line below, for example, TbScan processes all
non-removable drives and prints the results of the scan process to
the printer.
TBSCAN ALLDRIVES LOGNAME=LPT1 LOG
Also run TbUtil, to check the boot sector, partition code and the
CMOS configuration, using the following command:
TBUTIL COMPARE
WARNING:
To prevent a virus from invading the system's memory and
possibly masking the test results, do not execute any program
on your hard disk. TbCheck warns you if you accidentally try to
execute an infected or unauthorized program on your hard disk.
Remember that it is in the nature of a file virus to infect as many
programs as possible over a short period. You ll seldom find only a
few programs on a hard disk to be infected. A TbScan virus alert
that flags a mere one percent of the files on a hard-worked system
is probably just a false alarm that has nothing to do with a real
virus.
In other words, if the file compare test indicates that all of them
are still the same, you know at least that you are not dealing with
a file virus. Avoid using the same copy of the TbScan program on
another system after discovering a virus. Like any other program
file, TBSCAN.EXE itself can become infected!
To check infections of the TbScan program, the program performs a
sanity check when it runs. Unfortunately, there is no way to make
software 100% virus-proof. A sanity check does not work if a
stealth-type virus is at work. A stealth virus can hide itself
completely when you run a self-check.
In case you are wondering, this is not a bug in TbScan. The failure
to detect stealth viruses is common to all software that performs a
sanity check. We, therefore, recommend that you keep a clean version
of TbScan on a write-protected diskette. Use this diskette to check
other machines once you have found a virus on your system.
4. Identify Virus Characteristics
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 31
Viruses come in many different guises and have their own
peculiarities. It is extremely important to know at the earliest
possible stage which particular kind of virus you are dealing with.
This gives you at least some indication of the nature and the amount
of the damage it might have caused already.
Some viruses infect only executable files that you can easily
reinstall or replace from a clean source. Others swap some random
bytes anywhere on the hard disk, which could affect data files as
well, although the results might not be noticeable for some time.
Then there are those viruses that damage the hard disk partition
table or file allocation table. Some of the even nastier viruses,
the so-called multipartite viruses, operate in more than one area.
Once you isolate the virus, either contact your support BBS, consult
literature on virus problems, or get in touch with a virus expert.
WARNING:
Whatever you do, DON'T PANIC! An inexperienced user, reacting
in confusion, can often create more havoc than the virus
itself, such as blindly eradicating important data. While an
instant reformat might get rid of the virus, it will definitely
destroy all your recent work as well.
5. Restore the System
Again, while recovering from a virus infection, it is particularly
important to boot only from a clean write-protected system diskette.
This the only way to keep a virus out of the system's memory. Never
execute a program from the hard disk.
Using the SYS command on the system or recovery diskette, restore
the master boot sector and the DOS system files to the hard disk. If
the boot sector or partition code contains a virus, you can also use
the following command to get rid of it by restoring clean sectors:
TBUTIL RESTORE
WARNING:
Many modern hard disks, notably IDE or AT drives using advanced
pre-formatting methods, are low-level formatted by the
manufacturer, ready for partitioning and a DOS format. NEVER
try to low-level format these drives yourself. Doing so can
ruin the drive. It is always better to back up the partition
table with a utility such as TbUtil, which restores the
partition table for you without reformatting.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 32
If TBAV identifies the virus as a file virus, the safest course is
to remove the infected files (using TbDel) and to copy or reinstall
all executables from a CLEAN source. A virus cleaning utility, such
as TbClean, won't always be able to fully restore the original
program code, so use this only as a last resort, such as when you
don't have a reliable backup. It might be necessary to replace data
files as well if the virus is known to cause damage in that area.
CAUTION:
After reassuring yourself that the system is absolutely clean
again, run a careful check on all diskettes and backups to
remove every single trace of the virus. Keep in mind that it
takes only one infected diskette to reacquire the problem.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 33
3 Using the TBAV utilities
This chapter fully describes each of the TBAV utilities. For quick
reference, we will present each utility using at least three sections:
Understanding the utility, Working with the utility, and Maximizing the
utility. Most discussions also include a fourth section: Understanding
the utility's operating process.
3.1 Using TbSetup
Even though TbSetup does not take an active part in actual virus
detection or cleaning, it is nonetheless an indispensable tool in adding
support to the rest of the ThunderBYTE Anti-Virus utilities. TbSetup
organizes control and recovery information, thereby giving extra power to
the other utilities. It gathers information, mainly from program files,
into a single ANTI-VIR.DAT reference file, one in each directory.
NOTE:
See the "Understanding ANTI-VIR.DAT Files" section at the end of
this chapter for a fuller explanation of these files.
3.1.1 Understanding TbSetup
Although the ThunderBYTE utilities can work perfectly well without the
ANTI-VIR.DAT files, we recommend that you have TbSetup generate these
files. TBAV uses these files for several purposes:
TbScan and the memory resident TbCheck program perform an integrity
check while scanning if it can detect the ANTI-VIR.DAT file. If a
file becomes infected by a virus, the information in the
ANTI-VIR.DAT file will not match the actual file contents, and
TbScan and TbCheck will inform you that the file has been changed.
The TbSetup program recognizes some files that need special
treatment. An example of such a file is a disk image file of a
network remote boot disk. You should completely scan such a file,
which actually represents a complete disk. TbSetup puts a mark in
the ANTI-VIR.DAT file to ensure that TbScan scans the entire file
for all viruses.
Once a file becomes infected, TbClean can reconstruct the original
file. The information in the ANTI-VIR.DAT file will be of great help
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 34
to TbClean. TbClean can cure some infected programs only if there is
information about the program in the ANTI-VIR.DAT file.
TbCheck (a tiny resident integrity checker) has no purpose if there
are no ANTI-VIR.DAT files on your system. The resident TBAV
utilities need the ANTI-VIR.DAT files to maintain permission
information. Without ANTI-VIR.DAT files you can't prevent false
alarms other than by disabling a complete feature.
NOTE:
Be aware that the ANTI-VIR.DAT directory entries have by default the
attribute hidden and therefore do not show up when you use
standard directory commands. You can see the filenames only with the
help of special utilities or with the DOS 6 command DIR AH.
3.1.2 Working with the TbSetup Menu
This is the one program where the rule applies: The less you use the
program, the better your protection against viruses! Why? Keep in mind
that an ANTI-VIR.DAT file stores vital information needed to detect a
virus, as well as data for subsequent recovery and for cleaning.
Consider, then, what would happen if you were to execute TbSetup after a
virus entered the system. The information in the ANTI-VIR.DAT file would
be updated to the state of the infected file, wiping out all traces of
data needed to reconstruct the original file to its uninfected state.
WARNING:
NEVER, NEVER, NEVER, use TbSetup when there is the slightest
evidence of a virus on your system. Once TbSetup generates
ANTI-VIR.DAT files as part of the initial setup, you should confine
any subsequent use of TbSetup to directories with new or changed
program files.
Now we will explore these menu options.
Selecting the "TbSetup" option from the Main Menu displays the following
menu:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 35
+-----Main menu------+
| Confi+-----TbSetup menu------+
| TbSca| Start TbSetup |
| TbSet| Options menu >|
| TbUti| Flags menu >|
| TbCLe| Data file path/name |
| Virus| View data file |
| TBAV +-----------------------+
| Documentation >|
| Register TBAV |
| About |
| eXit (no save) |
| Quit and save |
+--------------------+
The "Start TbSetup" Option
Select this option only after you complete your selection of other
options on this menu and other sub-menus. When you select this option,
the "Enter disk / path / file(s) to process:" window appears. Type in the
drive and directory you want to setup and press ENTER.
The "Options Menu" Option
Selecting this option displays the following menu:
+-----Main menu------+
| Confi+-----TbSetup menu------+
| TbSca| Start+-----------TbSetup options----------+
| TbSet| Optio| Use TBAV.INI file |
| TbUti| Flags| Prompt for pause |
| TbCLe| Data | Only new files |
| Virus| View | Remove Anti-Vir.Dat files |
| TBAV +-------| Test mode (Don't change anything) |
| Documentation|v Hide Anti-Vir.Dat files |
| Register TBAV| Make executables readonly |
| About | Clear readonly attributes |
| Quit and save|v Sub-Directory scan |
| eXit (no save+------------------------------------+
+--------------------+
Use TBAV.INI file.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 36
By enabling this option, the TbSetup configuration values, saved in
the TBAV.INI file, will also apply when loading TbSetup from the
command line.
CAUTION:
If you specify options in the TBAV.INI file, you cannot undo
them on the command line.
Prompt for pause.
When you specify this option, TbSetup stops after it processes the
contents of one window. This enables you to examine the results.
Only new files.
Use this option if you want to add new files to the ANTI-VIR.DAT
database but prevent the information of changed files from being
updated. Updating the information of changed files is dangerous
because if the files are infected, the information to detect and
cure the virus is overwritten. This option prevents the information
from being overwritten but still allows adding information of new
files to the database.
Remove ANTI-VIR.DAT files.
If you want to stop using the ThunderBYTE utilities you do not have
to remove all the ANTI-VIR.DAT files yourself. By using this option
TbSetup neatly removes all ANTI-VIR.DAT files from your system.
Test mode (Don't change anything).
Use this option if you want to see the effects of an option without
the risk of activating something you don't want to activate. This
option instructs the program to behave as it normally would but not
change or update anything on your hard disk.
Hide ANTI-VIR.DAT files.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 37
The ANTI-VIR.DAT files are normally not visible in a directory
listing. If you prefer them to be visible, disable this option.
NOTE:
Be aware that this option applies only for new ANTI-VIR.DAT
files
Make executables read-only.
Since TbFile permanently guards the read-only attribute, we
recommend that you make all executable files read-only to prevent
any modifications on these files. TbSetup automatically does this
job for you if you enable this option. TbSetup recognizes files that
you should not make read-only.
Clear read-only attributes.
Use this option to reverse the "Make executables read-only"
operation. If you enable this option, TBAV clears all read-only
attributes on all executable files.
Sub-Directory scan.
By default, TbSetup searches sub-directories for executable files,
unless you specify a filename (wildcards allowed). If you disable
this option, TbSetup will not process sub-directories.
The "Flags Menu" Option
Selecting this option displays the following menu:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 38
+-----Main menu------+
| Confi+-----TbSetup menu------+
| TbSca| Start+-----TbSetup flags------+
| TbSet| Optio|v Use normal flags |
| TbUti| Flags| Set flags manually |
| TbCLe| Data | Reset flags manually |
| Virus| View | Define flags >|
| TBAV +-------+------------------------+
| Documentation >|
| Register TBAV |
| About |
| Quit and save |
| eXit (no save) |
+--------------------+
NOTE:
"Flags" refer to internal indicators, created by ThunderBYTE to
signal internal file attributes.
This menu contains the following options:
Use normal flags.
This is the default setting for TbSetup.
Set flags manually.
This option is for advanced users only. Using this option, you can
manually set permission flags in the ANTI-VIR.DAT record. This
option requires a hexadecimal bit mask for the flags to set; you can
specify this bit mask by selecting one of more of the items listed
in the "Define flags" sub-menu, which appears below.
Reset flags manually.
This option is for advanced users only. Using this option, you can
manually reset permission flags or prevent flags from being set in
the ANTI-VIR.DAT record. This option requires a hexadecimal bit mask
for the flags to reset; you can specify this bit mask by selecting
one or more of the items listed in the "Define flags" sub-menu,
which appears below.
Define flags.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 39
Selecting this option displays the changed following menu:
+-----Main menu------+
| Confi+-----TbSetup menu------+
| TbSca| Start+-----TbSetup flags------+
| TbSet| Optio|v Use n+--Define flags to be--------+
| TbUti| Flags| Set f| 0001: Heuristic analysis |
| TbCLe| Data | Reset| 0002: Checksum changes |
| Virus| View | Defin| 0004: Disk image File |
| TBAV +-------+-------| 0008: Read only sensitive |
| Documentation >| | 0010: TSR program |
| Register TBAV | | 0020: Direct disk access |
| About | | 0040: Attribute modifier |
| Quit and save | | 8000: Interrupt rehook |
| eXit (no save) | +----------------------------+
+--------------------+
Selecting one or more of these options accomplishes the following:
0001: Heuristic analysis.
Programs with the 0001 flag will not be heuristically scanned.
0002: Checksum changes.
Programs with the 0002 flag will not be checked for file changes.
0004: Disk image File.
Files with this flag contain a disk layout and are checked
completely.
0008: Read only sensitive.
Files with this flag cannot be changed to read-only.
0010: TSR program.
Programs with this flag have permission to stay resident in memory.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 40
0020: Direct disk access.
Programs with this flag have permission to write directly to the
disk.
0040: Attribute modifier.
Programs with this flag have permission to change program
attributes.
8000: Interrupt rehook.
After a program with this flag starts, TbDriver should rehook
interrupts.
The "Data File Path Name" Option
TbSetup searches for "special" files by using a file named TBSETUP.DAT.
You can use this option to specify another path or filename that contains
a list of special files. Select the option, and then enter the name
(and path if necessary) of the data file you want to use.
The "View Data File" Option
Selecting this option displays the TBSETUP.DAT file on the screen for
your viewing. Use the cursor movement keys to move through the file.
TIP:
Instead of using the internal file viewer to view the User Manual,
you can substitute your own favorite viewer. See the "Configuring
TBAV" section in Chapter 1 for details..
3.1.3 Maximizing TbSetup
Now that you know how to use TbScan's menus, you can more easily
understand how to maximize its performance by using command line options.
The following table summarizes these options:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 41
option parameter short explanation
------------------ ----- ----------------------------------------
help he help
pause pa enable "Pause" prompt
mono mo force monochrome output
nosub ns skip sub-directories
newonly no do not update changed records
alldrives ad process all local fixed drives
allnet an process all network drives
remove rm remove ANTI-VIR.DAT files
test te do not create / change anything
nohidden nh do not make ANTI-VIR.DAT files hidden
readonly ro set read-only attribute on executables
nordonly nr remove / do not set read-only attribute
set=<flags> se set flags
reset=<flags> re reset flags / do not set flags
datfile=<filename> df specify the data file to be used
The explanations in the above table serve as a quick reference, but the
following descriptions provide more information about each option.
help (he).
Specifying this option displays a short list of available options,
as listed above.
pause (pa).
Specifying this option stops after processing the contents of one
window. This enables you to examine the results.
mono (mo).
This option enhances the screen output on some LCD screens or
color-emulating monochrome systems.
nosub (ns).
By default, TbSetup searches sub-directories for executable files,
unless you specify a filename (wildcards allowed). If you specify
this option, TbSetup will not process sub-directories.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 42
newonly (no).
Use this option if you want to add new files to the ANTI-VIR.DAT
database but prevent the information of changed files from being
updated. Updating the information of changed files is dangerous
because if the files become infected, the information to detect and
cure the virus is overwritten. This option prevents the information
from being overwritten but still allows adding information of new
files to the database.
alldrives (ad).
If you want TbSetup to process all local non-removable drives you
can specify this option. Except for the initial execution, it isn't
a good idea to use this option.
allnet (an).
Specify this option if you want TbSetup to process all network
drives.
WARNING:
Except for the initial execution of the TBAV utilities, it
isn't a good idea to use the "allnet" option
remove (rm).
If you want to stop using the ThunderBYTE utilities, you do not have
to remove all the ANTI-VIR.DAT files manually. By using this option,
TbSetup neatly removes all ANTI-VIR.DAT files from your system.
test (te).
Use this option if you want to see the effects of an option without
the risk of activating something you don't want to activate. If you
specify this option, the program behaves as it would normally but
does not change or update anything on your hard disk.
nohidden (nh).
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 43
The ANTI-VIR.DAT files are normally not visible in a directory
listing. If you prefer the ANTI-VIR.DAT files to be visible, use
this option.
NOTE:
Be aware that the "nohidden" option applies only for new
ANTI-VIR.DAT files
readonly (ro).
Since, TbFile permanently guards the read-only attribute, we
recommend that you make all executable files read-only to prevent
any modifications on these files. TbSetup automatically does this
job for you if you use this option. TbSetup recognizes files that
you should not make read-only.
nordonly (nr).
This option reverses the operation of READONLY option. If you use
this option, TbSetup clears the read-only attribute from all
executable files.
set (se).
This option is for advanced users only. Using this option you can
manually set permission flags in the ANTI-VIR.DAT record. This
option requires a hexadecimal bit mask for the flags to set. For
information about the bit mask consult the TBSETUP.DAT file. Option
format: Set =<flags>; for example: Set = 0001.
reset (re).
This option is for advanced users only. With this option you can
manually reset permission flags or prevent flags from being set in
the ANTI-VIR.DAT record. This option requires a hexadecimal bit mask
for the flags to reset. For information about the bit mask consult
the TBSETUP.DAT file. Option format: Reset =<flags>; for example:
Reset = 0001.
datfile (df).
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 44
After the datfile option you can specify the name of the data file
to use.
For the initial installation of TBAV, you could use the following
command:
TBSETUP ALLDRIVES
Using the following command, you could specify which drives (C: and D:,
for example) you want TbSetup to process:
TBSETUP C:\ D:\
Since you did not specify a filename in the above command, TbSetup
assumes that the specified path to be the top-level path. In other words,
TbSetup processes all its sub-directories. If you do specify a filename,
TbSetup processes only that path, not any subdirectories. You can use
wildcards (the asterisk [*] or the question mark [?]) in the filename.
You can use the NEWONLY option to prevent TbSetup from overwriting
existing information. To help you remember that you need to run TbSetup
again, the next time you run TbScan it displays either a small 'c'
after the file to indicate a new file or a capital 'C' if a file has
simply been changed.
If you add a new file called TEST.EXE to your directory C:\TESTING, you
should execute the following command:
TBSETUP C:\TESTING\TEST.EXE
If you install a new product in a new directory, C:\NEW, you should use
the following command:
TBSETUP C:\NEW
3.1.4 Understanding TbSetup's Operation
TbSetup divides the screen into three windows: an information window
displaying data file comments across the top of the screen, a scanning
window on the left, and a status window on the right.
The lower left window lists the names of the files being processed, along
with file specific information in the following way:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 45
TEST.EXE 01234 12AB23CD Added * 0001
| | | | | |
| | | | | |
| | | | | 'flags' set for this file
| | | | indicates 'special' file
| | | action performed
| | 32-bit CRC (checksum)
| file size in hexadecimal number
name of file in process
Do not be concerned if the information flies too fast for you to read, or
if it puzzles you. These details are provided purely for diagnostic use.
The scanning window also displays an action performed field, which
indicates whether an entry in the ANTI-VIR.DAT was added, changed or
updated:
Added.
Means that there was no previous entry for this file in the
ANTI-VIR.DAT record and that a new entry was added.
Changed.
Means that there was an existing entry but the file has been changed
and ANTI-VIR.DAT information was updated.
Updated.
Means that there was an ANTI-VIR.DAT record and the file was found
to be unchanged. TbSetup did, however, change some of the program's
permission flags, due to either an entry in the TBSETUP.DAT file or
in compliance with a SET or RESET option.
TIP:
You can abort TbSetup at any time by pressing Ctrl+Break.
3.1.5 Understanding TBSETUP.DAT Files
Although the ThunderBYTE utilities perform well on almost every file
without extra help, there are some files that need special attention.
TbSetup uses information collected in the TBSETUP.DAT data file, to flag
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 46
these special files in the ANTI-VIR.DAT file. The other ThunderBYTE
utilities then use this information to determine how they should treat
such a "special" file.
Some programs maintain configuration information inside the
executable file (EXE, COM) itself. Whenever you change the
configuration of these programs, the executable file changes as
well, along with its checksum. As a result, the new checksum no
longer matches the one stored in the TBSETUP.DAT file. Since some
TBAV utilities use this checksum information to verify integrity or
cleanup results, they need to know when a file's checksum is allowed
to change. TbScan can use generic detection methods such as
"heuristic" analysis to detect unknown viruses. Since heuristic
analysis implies inevitable false alarms when a file looks like a
virus, TbScan might have to decide not to do a heuristic analysis on
such a program.
Some of the TBAV utilities guard the read-only attribute and ensure
that it can be removed only with the user's explicit permission. A
few programs, however, refuse to run properly with the read-only
attribute set.
TbScan's default scanning method performs perfectly well with just
about any file, but there are some that need special analysis. Such
a file is the Novell NET$DOS.SYS file, which is not a device driver
as the filename extension suggests, but a disk image of the bootable
disk. You should, therefore, scan it completely for all signatures,
including COM and BOOT. The resident monitoring utilities of the
TBAV package detect all sorts of virus-specific behavior. Some
programs, even though they might act like a virus, are still
perfectly normal and should be permitted to execute without TBAV
interference.
You need not worry if you discover that a few files will be excluded from
heuristic analysis. TBAV still scans these files in the conventional way
for signatures. Furthermore, TBAV will not grant heuristic exclusion
unless a file exactly matches its entry in the TBSETUP.DAT file,
including its name, size, and 32-bit CRC checksum.
This safety feature eliminates security holes effectively, since if a
listed file is already infected, its checksum won't match the 32-bit CRC
in the TBSETUP.DAT file and the exclusion does not apply. By the same
token, if a program becomes infected at a later date, the result is a
change in at least one of its characteristics, so the record in the
ANTI-VIR.DAT file no longer matches and the file will be subject to full
heuristic analysis like any other.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 47
3.2 Using TbScan
TbScan is the program you will most likely use the most detect virus
infections.
3.2.1 Understanding TbScan
TbScan is a scanner which has been specifically designed to detect
viruses, Trojan Horses and other such threats to your valuable data. Most
viruses consist of a unique sequence of instructions, called a
signature. By checking for the appearance of such signatures in a file
we can find out whether a program has been infected. Scanning all program
files for the signatures of all known viruses helps you to find out
quickly whether your system has been infected and, if so, by which virus.
Understanding TbScan involves understanding three main features of the
program.
Fast Scanning
TbScan is the fastest scanner on the market today. It, therefore,
invites you to use it from within your AUTOEXEC.BAT file every
morning. Thanks to its design, TbScan does not slow down if the
number of signatures increases. It doesn't matter whether you scan a
file for 10 or a 1000 signatures.
TbScan even checks itself upon launching. If it detects infection,
it aborts and displays an error. This minimizes the risk of the
TbScan program itself transferring a virus to your system.
Heuristic Scanning
TbScan can detect unknown viruses. The built-in disassembler is able
to detect suspicious instruction sequences and abnormal program
layouts. This feature is called "heuristic scanning" and is
partially enabled by default. TBAV performs heuristic scanning on
files and boot sectors.
NOTE.
Virus scanners can only tell you whether your system has been
infected. By that time only a non-infected backup or a recovery
program such as TbClean can properly counter a virus infection.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 48
Scan Scheduling
Every PC owner should use a virus scanner frequently. It is the
least one should do to avoid damage caused by a virus. We recommend
that you devise your own schedule for a regular scan of your system.
See Chapter 2 for details.
We recommend the following scan sessions, to be used in combination
with each other:
Execute TbScan from write-protected bootable diskette once a
week. Boot from this diskette before invoking the scanner.
Booting from a clean diskette is the only way to make sure that
no stealth virus can become resident in memory.
Invoke a daily scan. You can invoke TbScan with the ONCE option
from within the AUTOEXEC.BAT file to perform the daily scan
session automatically, which is the default if you used the
standard installation procedure for TBAV (see Chapter 1). It is
not necessary to boot from the bootable TbScan diskette to
perform the daily scan.
Scan each new diskette. You should scan EVERY diskette you
receive from a friend or acquaintance for viruses to ensure
that a virus hasn't been included along with a copy of "a great
game!"
3.2.2 Working with the TbScan Menus
For daily use you can activate TbScan by loading the program from the DOS
command line (e.g., in the AUTOEXEC.BAT file), or through the TBAV menu.
For weekly use, when scanning from the TbScan diskette, you could use the
DOS command. The Maximizing TbScan section of this chapter lists the
TbScan DOS options. This section describes the use of the TbScan Menu,
which is part of the TBAV menu. Taking each menu item in order, we ll
explore the function of each.
Selecting the "TbScan" option from the TBAV menu displays the following
menu:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 49
+-----Main menu-----+
| Confi+----TbScan menu-----+
| TbSca| Start scanning |
| TbSet| Options menu >|
| TbUti| Advanced options >|
| TbCLe| If virus found >|
| Virus| Log file menu >|
| TBAV | View log file |
| Docum+--------------------+
| Register TBAV |
| About |
| Quit and save |
| eXit (no save) |
+-------------------+
The "Start Scanning" Option
Selecting the "Start Scanning" option from the TbScan Menu displays one
of the following "Path Menu" configurations:
+-----Main menu-----+
| Confi+----TbScan menu-----+
| TbSca| Sta+---------Path menu---------+
| TbSet| Opt| Specified files/paths |
| TbUti| Adv| Current directory |
| TbCLe| If | Diskette in drive A: |
| Virus| Log| Diskette in drive B: |
| TBAV | Vie| All fixed Drives |
| Docum+-----| All fixed Local drives |
| Register TB| All fixed Network drives |
| About +---------------------------+
| Quit and save |
| eXit (no save) |
+-------------------+
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 50
+-----Main menu-----+
| Confi+----TbScan menu-----+
| TbSca| Sta+---------Path menu---------+
| TbSet| Opt| Specified files/paths |
| TbUti| Adv| Current directory |
| TbCLe| If | CD-ROM |
| Virus| Log| Drive_a |
| TBAV | Vie| Fullscan |
| Docum+-----| Local |
| Register TB+---------------------------+
| About |
| Quit and save |
| eXit (no save) |
+-------------------+
The first menu configuration includes scan targets such as CD-ROM,
Drive_a, etc. Primarily, TBAV for Windows uses these scan targets, but
TbScan for DOS can also use them. If the TBAV menu finds one or more of
these scan targets (the targets are really files with the filename
extension SCN), the Path Menu will then display the list of available
targets. If no such scan targets exist, the second Path Menu
configuration will appear.
NOTE:
Please be aware that the actual menu items you come across in the
Path menu might differ slightly, depending on your system
configuration.
The Path Menus list the following options:
Specified files/paths.
This option always presents you with a small prompt window in which
you can specify the drives, paths, or even files you want to scan.
You can specify multiple path specifications by separating each with
spaces. This specification automatically initializes with the last
path you scanned before you saved the configuration.
Current directory.
Select this option if you want to scan only the directory from which
you started the TBAV menu shell.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 51
Diskette in drive A: or Diskette in drive B:.
If you want to scan multiple diskettes, you might wish to activate
the Repeat option of TbScan. See the TbScan Options Menu for more
information.
All fixed drives.
This option instructs TbScan to scan all available drives (except
the removable ones) completely. Depending on the settings in the
TBAV configuration menu, TbScan prompts you to confirm the selected
drives.
All fixed Local drives.
If you are on a network, you probably don't want to scan the entire
network. Using this option you can scan just the drives that reside
in your machine. Depending on the settings in the TBAV configuration
menu, TbScan prompts you to confirm the selected drives.
All fixed Network drives.
Using this option you can scan all network drives. Depending on the
settings in the TBAV configuration menu, TbScan prompts you to
confirm the selected drives.
The "Options Menu" Option
Selecting the "Options Menu" option displays the following menu:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 52
+-----Main menu-----+
| Confi+----TbScan menu-----+
| TbSca| Start+------TbScan options-------+
| TbSet| Optio| Use TBAV.INI file |
| TbUti| Advan| Prompt for pause |
| TbCLe| If vi| Quick scan |
| Virus| Log f| Maximum Compatibility |
| TBAV | View |v Bootsector scan |
| Docum+-------|v Memory scan |
| Register TBAV| HMA scan forced |
| About |v Upper memory scan |
| Quit and save|v File scan |
| eXit (no save|v Windows-OS/2-virus scan |
+--------------|v Sub-Directory scan |
| Repeat scanning |
|v Abort on Ctrl-Break |
| Sound Effects |
|v Fast scrOlling |
|v Large directories |
| FAT checking |
+---------------------------+
Taking each menu item in order, we ll explore the function of each.
Use TBAV.INI file.
TbScan searches for a file named TBAV.INI in the TBAV directory. By
enabling this option, the TbScan configuration values, saved in the
TBAV.INI file, will also be valid when loading TbScan from the
command line.
CAUTION:
Be aware that if you specify options in the TBAV.INI, you
cannot undo them when running TbScan from the command line.
Prompt for pause.
When you activate this option, TbScan stops after it checks the
contents of each window. As each window fills with files, a
"[More]" prompt appears at the bottom of the screen. Simply press
any key to view the next list of files. Using this feature enables
you to examine the results of the scan without having to consult a
log file afterwards.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 53
Quick scan.
This option instructs TbScan to use the ANTI-VIR.DAT files to check
for file changes since the last scan. TbScan scans only those files
that have changed (CRC change) or are not yet listed in
ANTI-VIR.DAT. The other files are just checked for matching
ANTI-VIR.DAT records. By default, TbScan always scans files (the
quick scan option is not enabled by default).
Maximum compatibility.
If you select this option, TbScan attempts to be more compatible
with your system. Use this option if the program does not behave as
you would expect or if it halts the system. Be aware, however, that
this option slows down the scanning process. Therefore, use it only
when necessary. Be aware also that this option does not affect the
results of a scan.
Boot sector scan.
Enabling this option forces TbScan to scan the boot sector. A boot
sector is a certain part of a disk, which is used by the operating
system to initialize itself. A special class of viruses (boot sector
viruses) use this special part of a disk to infect your system.
Memory scan.
Enabling this option forces TbScan to scan the memory of the PC.
HMA scan forced.
By default, TbScan automatically detects the presence of an
XMS-driver and scans the HMA. If you are using an HMA-driver that is
not compatible with the XMS standard, you can use this option to
force TbScan to scan HMA.
Upper memory scan.
By default, TbScan identifies RAM beyond the DOS limit and scans
that memory. This means that it scans video memory and the current
EMS. You can use this option to enable the scanning of non-DOS
memory.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 54
File scan.
By default, TbScan checks files for viruses. Removing the check mark
disables file scanning. This option is particularly useful if, for
example, you have been struck by a boot sector virus. In order to
scan only boot sectors of your floppy disks, you can disable file
scan using this option.
Windows-OS/2-virus scan.
By default, TbScan scans Windows and OS/2 files for viruses.
Removing the check mark disables Windows and OS/2 file scanning.
Subdirectory scan.
By default, TbScan searches sub-directories for executable files,
unless you specify a filename (wildcards allowed). If you disable
this option, TbScan does not scan sub-directories.
Repeat scanning.
This option is very useful if you want to check a large number of
diskettes. TbScan does not return to DOS after checking a disk,
rather it prompts you to insert another disk in the drive.
Abort on Ctrl-Break.
If you don't want to be able to abort the scanning process by
pressing Ctrl+Break, you can disable this option.
Sound Effects.
Checking this option enables an audible sound when TbScan detects a
virus.
Fast scrolling.
TbScan displays processed files in a scrolling window, which scrolls
in one of two methods: fast scrolling, in which the files appear on
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 55
top of the previous ones if the window becomes full, and the
conventional slow method of scrolling, in which the files at the
bottom "push up" the previous ones. By default TbScan uses the
faster but less attractive method of scrolling.
Large directories.
If TbScan's directory table runs out of space, which is very
unlikely, you can use this option to allocate a large directory
table.
Fat checking.
If this option is specified, and TbScan is able to use its internal
file system, it will check the disks for lost clusters, cross linked
clusters, invalid cluster numbers, and invalid allocation sizes.
These errors often indicate system problems and need to be corrected
as soon as possible. Because TbScan needs to read the FAT and all
directories anyway, it can perform this important check without
using additional time.
The "Advanced Options" Option
When you select the Advanced Options option, the following menu is
displayed:
+-----Main menu-----+
| Confi+----TbScan menu-----+
| TbSca| Start+------TbScan advanced options-----+
| TbSet| Optio| High heuristic sensitivity |
| TbUti| Advan|v Auto heuristic sensitivity |
| TbCLe| If vi| Low heuristic sensitivity |
| Virus| Log f| Non-executable scan |
| TBAV | View | FAT info (fragmented files) |
| Docum+-------| Extract signatures |
| Register TBAV| Configure executable extensions |
| About +----------------------------------+
| Quit and save |
| eXit (no save) |
+-------------------+
Let's now explore these options.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 56
High heuristic sensitivity.
While TbScan always performs a heuristic scan on the files being
rocessed, it reports a file as infected only if it is very probable
that the file is infected. If you select this option, TbScan is
somewhat more sensitive. In this mode, TbScan detects 90% of the
new, unknown viruses without any signature. Be aware, however, that
some false alarms might occur.
Auto heuristic sensitivity.
By default, TbScan automatically adjusts the heuristic detection
level after it finds a virus. In other words, when TbScan finds a
virus, it then goes on as if you had selected High heuristic
sensitivity. This option provides you maximum detection
capabilities in case you need it, while at the same time keeps false
alarms at a minimum.
Low heuristic sensitivity.
In this mode TbScan almost never issues a false alarm. It still,
however, detects about 50% of the new, unknown viruses.
Non-executable scan.
This option instructs TbScan to scan non-executable files (files
with an extension other than COM, EXE, SYS, OV? or BIN) as well as
executables. If TbScan finds out that such a file does not contain
anything that the processor can execute, it skips the file.
Otherwise TbScan searches the file for COM, EXE and SYS signatures.
Be aware that TbScan does not perform heuristic analysis on
non-executable files. Since viruses normally do not infect
non-executable files, it is not necessary to scan non-executable
files too. We recommend, in fact, that you NOT use this option
unless you have a good reason to scan all files. Again, you must
execute a virus before it can do what it was programmed to do, and
since you do not execute non-executable files, a virus in such a
file cannot do anything. For this reason viruses do not even try to
infect such files. Some viruses, however, do write to non-executable
files, but this is a result of "incorrect" programming. And even
though these non-executable files contain corrupted data, they still
won't harm other program or data files.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 57
FAT info (fragmented files).
If this option is specified, TbScan displays the number of
fragmented files after it has finished scanning. If the number of
fragmented files is high, you can increase the system performance by
using a disk optimizer. This option is only valid if the option
'fatcheck' has been specified, and TbScan is using its internal file
system.
Extract signatures.
This option is available to registered users only. See the Using
TbGenSig section in Chapter 4 for more information.
Configure executable extensions.
By default, TbScan scans only those files that have a filename
extension that indicates that the file is a program file. Viruses
that do not infect executable code simply do not exist. Files with
the extension EXE, COM, BIN, SYS, and OV? (note the wildcard: the
OV? specification includes files such as OVR and OVL) are considered
executable. There are, however, some additional files that have an
internal layout that makes them suitable for infection by viruses.
Although it is not likely that you will ever execute most of these
files, you might want to scan them anyway. Some filename extensions
that might indicate an executable format include: .DLL (MS-Windows
Dynamic Link Library), .SCR (MS-Windows screen saver file), .MOD
(MS-Windows file), .CPL (MS-Windows Control Panel application), .00?
and .APP. While infection of such files is not likely, you might
want to scan them once in while. To force TbScan to scan these files
by default, select this option and fill out the extensions you want
TbScan to scan. For example, you can specify .DLL.SCR.CPL (with no
spaces in between). You can also use the question mark wildcard.
WARNING:
Be careful which extensions you specify. Scanning a
non-executable file, for example, causes unpredictable results,
and might result in false alarms.
The "If Virus Found" Option
Selecting this option displays the following menu:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 58
+-----Main menu-----+
| Confi+----TbScan menu----+
| TbSca| Start+--What if a virus is found?-+
| TbSet| Optio|v Present action menu |
| TbUti| Advan| Just continue (logonly) |
| TbCLe| If vi| Delete infected file |
| Virus| Log f| Kill infected file |
| TBAV | View | Rename infected file |
| Docum+-------+----------------------------+
| Register TBAV |
| About |
| Quit and save |
| eXit (no save) |
+-------------------+
Let's explore these options.
Present action menu.
This option (the default) instructs TbScan to display a menu listing
four possible actions if it detects a virus: just continue, delete,
kill or rename the infected file.
Just continue (logonly).
By default, if TbScan detects an infected file, it prompts you to
delete or rename the infected file, or to continue without action.
If you select this option, however, TbScan always continues. We
recommend that you use a log file in such situations, since a
scanning operation does not make much sense if you don't read the
return messages (see the Log File Menu option below for further
information).
Delete infected file.
By default, if TbScan detects a virus in a file it prompts you to
delete or rename the infected file, or to continue without action.
If you select this option, however, TbScan deletes the infected file
automatically, without prompting you first. Use this option if you
know your computer is infected by a virus and you want to erase all
files the virus has infected. Make sure you have a clean backup and
that you really want to get rid of all infected files at once.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 59
Kill infected file.
This option is almost the same as the "Delete infected file" option
with one major difference. The DOS UNDELETE command enables you can
recover a deleted file, but if you delete the infected file using
this "Kill" option, recovery is no longer possible.
Rename infected file.
By default, if TbScan detects a file virus it prompts you to delete
or rename the infected file, or to continue without action. If you
select this option, however, TbScan renames the infected file
automatically, without prompting you first. By default, TbScan
replaces the first character of the file extension by the character
'V'. It names an .EXE file, to .VXE, for example, and a .COM file to
.VOM. This prevents the execution of infected programs and thereby
spreading the infection. This also enables you to keep the files for
later examination and repair.
The "Log File Menu" Option
You can use the "TbScan Log Menu" to handle the results of the scan
process (write them to a file or to a printer, for example). The menu
appears below, followed by a description of the options.
+----Main menu-----+
| Confi+------TbScan menu------+
| TbSet| Start+-------TbScan LOG menu-------+
| TbSca| Optio| Log file path/name |
| TbUti| Advan| Output to log file |
| TbCLe| If vi| Specify log-level >|
| TBAV | Log f| Append to existing log |
| Docum| View | No heuristic descriptions |
| Regis+-------| Truename filenames |
| Quit and save+-----------------------------+
| eXit (no save) |
+------------------+
Log file path/name.
Using this option you can specify the name of the log file you want
to use. TbScan creates the file in the current directory unless you
specify a path and filename. If the log file already exists, TbScan
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 60
overwrites the file (unless you selected the "Append to existing
log" option. If you want to print the results, you can specify a
printer device name rather than a filename (LPT1 instead of
C:\TBAV\TBSCAN.LOG, for example).
CAUTION:
To create the log file, you must select the "Output to log
file" option.
Output to logfile.
When you select this option, TbScan creates a log file. The log file
lists all infected program files, specifying heuristic flags (see
Appendix B) and complete pathnames.
Specify log-level.
This option enables you to configure the actual contents of the log
file using the following menu:
+----Main menu-----+
| Confi+------TbScan menu------+
| TbSet| Start+-------TbScan LOG menu-------+
| TbSca| Optio| Log f+--------Log-level menu--------+
| TbUti| Advan| Outpu| 0: Log only infected files |
| TbCLe| If vi| Speci|v 1: Log summary too |
| TBAV | Log f| Appen| 2: Log suspected too |
| Docum| View | No he| 3: Log all warnings too |
| Regis+-------| Truen| 4: Log clean files too |
| Quit and save+-------+------------------------------+
| eXit (no save) |
+------------------+
These levels determine what kind of file information TbScan notes in
the log file. The default log level is 1, but you can select one of
five levels:
0: Logonly infected files.
Specifies that if there are no infected files, do not create or
change the log file.
1: Log summary too.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 61
Places a summary and time stamp in the log file, and specifies
that TbScan put only infected files in the log file.
2: Log suspected too.
This is almost the same as level 1, but TbScan also logs
suspected files, files that would trigger the heuristic alarm
if you specify the "High heuristic" sensitivity option.
3: Log all warnings too.
This level is an extension of the previous level. It specifies
that TbScan log all files that have a warning character printed
behind the filename.
4: Log clean files too.
This places the information of all files being processed into
the log file.
Append to existing log.
If you select this option, TbScan appends new information to the
existing log file instead of overwriting it. If you use this option
often, we recommended that you delete or truncate the log file once
in a while to avoid unlimited growth.
CAUTION:
To create the log file, you must select the "Output to log
file" option.
No heuristic descriptions.
If you enable this option, TbScan does not specify the descriptions
of the heuristic flags in the log file. See Appendix B for the
heuristic flag descriptions.
Truename filenames.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 62
If this option is specified, TbScan uses 'truenames' rather than DOS
filenames. If you process a file on a network, accessed by DOS as
F:\USER\FILE.EXE then TbScan will use the fully expanded filename
(like \\SERVER2\PUBLIC\USER\FILE.EXE) on the screen and in the log
file.
The "View Log File" Option
If you activate one of the above log file options, you can then select
this option to view and study the log. Otherwise, this option is not
available.
TIP:
See the "Configuring TBAV" section in Chapter 1 for how you can
specify your own file viewer using the "Configure TBAV, File view
utility" command.
3.2.3 Maximizing TbScan
Now that you know how to use TbScan's menus, you can more easily
understand the power of using it from the command line.
When you run TbScan from the DOS command line, it recognizes command line
options (often called "switches" in DOS terms). These options appear as
"key-words" or "key-letters." The words are easier to memorize, so we
will use these in this manual for convenience.
When you run TbScan, it looks for a file named TBAV.INI in the TBAV
directory. If the keyword USEINI appears in the [TbScan] section of the
TBAV.INI file, the other options listed in the [TbScan] section will be
includede when you run TbScan from the command line.
CAUTION:
Be aware that if you specify options in the TBAV.INI file, you
cannot undo them when you run TbScan from the command line.
The following table lists the TbScan command line options:
option parameter short explanation
------------------ ----- ----------------------------------------
help he help
pause pa enable Pause prompt
mono mo force monochrome output
quick qs quick scan (use ANTI-VIR.DAT)
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 63
allfiles af scan non-executables too
alldrives ad scan all local non-removable drives
allnet an scan all network drives
heuristic hr enable heuristic alerts
extract ex extract signatures (registered users only)
once oo scan only once a day
slowscroll ss enable conventional (slow) scrolling
secure se disable "user abort" (registered users
only)
compat co maximum compatibility mode
ignofile in ignore no-file error
largedir ld use large directory table
fatcheck fc check the FAT for errors
fatinfo fi display amount of fragmented files
old ol disable the "This program is old" message
noboot nb skip boot sector check
nofiles nf skip scanning of files
nomem nm skip memory check
hma hm force HMA scan
nohmem nh skip UMB/HMA scan
nosub ns skip sub-directories
noautohr na auto heuristic level adjust
nowin nw do not scan for Windows-OS/2 viruses
repeat rp scan multiple diskettes
audio aa make noise if virus found
batch ba batch mode - no user input
delete de automatically delete infected files
kill ki automatically kill infected files
truename tn use true name instead of DOS name
log lo output to log file
append ap log file append mode
expertlog el no heuristic descriptions in log
logname=<filename> ln set path/name of log file
loglevel=<0...4> ll set log level
wait=<0...255> wa amount of timer-ticks to wait
rename[=<text-mask>] rn rename infected files
exec=.<ext-mask> ee specify executable extensions
The explanations in the above table serve as a quick reference, but the
following descriptions provide more information about each option.
TIP:
Remember that you can display these options from the command line by
entering TBSCAN ?.
help (he).
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 64
If you specify this option TbScan displays the help as listed above.
pause (pa).
When you specify the PAUSE option, TbScan stops after it checks the
contents of one window. This enables you to examine the results
without having to consult a log file later.
mono (mo).
This option prevents TbScan from using colors in the screen output.
This might enhance the screen output on some LCD screens or
color-emulating monochrome systems.
quick (qs).
This option instructs TbScan to use the ANTI-VIR.DAT files to check
for file changes since the last scan. TbScan scans only those files
that have changed (CRC change) or do not appear in ANTI-VIR.DAT. By
default, TbScan always scans files.
allfiles (af).
If you specify this option, TbScan also scans non-executable files
(that is, files without a .COM, .EXE, .SYS or .BIN extension). If
TbScan finds that such a file does not contain executable code, it
"skips" that file. Otherwise, TbScan searches the file for COM, EXE
and SYS signatures. Be aware that TbScan does not perform heuristic
analysis on non-executable files. Since viruses normally do not
infect non-executable files, it is not necessary to scan them. We
recommend, in fact, that you do not use this option unless you have
a good reason to scan all files since a file infected with a virus
must normally be executed before it can perform what it is
programmed to do, and since you can't execute a non-executable file,
a virus in such a file cannot do anything. Some viruses write to
non-executable files, but this is simply a result of "incorrect"
programming or a specific targeted attack-- the result of which
may be corrupted data, which will not likely harm other program or
data files.
alldrives (ad).
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 65
This option instructs TbScan to scan all local non-removable disks.
allnet (an).
This option instructs TbScan to scan all network drives.
heuristic (hr).
While TbScan always performs a heuristic scan on the files being
processed, if you select this option TbScan increases it's level of
sensitivity. In this mode, TbScan detects 90% of the unknown viruses
without any signatures. Be aware, however, that some false alarms
might occur. See the "Understanding Heuristic Scanning" section
later in this chapter for more information.
extract (ex).
This option is available to registered users only. See the "Using
TbGenSig" section in Chapter 4 for more information.
once (oo).
If you specify this option, TbScan "remembers" whether it has run
that day, and that if it has, it will not run again. In other words,
this instructs TbScan to run only once a day, regardless of how many
times you actually enter the command from the DOS prompt or a batch
file. This command is very useful in your AUTOEXEC.BAT file, for
example: TBSCAN @EVERYDAY.SCN ONCE RENAME. TbScan now scans the list
of files and/or paths specified in the file EVERYDAY.SCN during the
first boot-up of the day. If the systems boots more often that day,
TbScan returns to the DOS prompt immediately. This option does not
interfere with the regular use of TbScan. If you invoke TbScan
without this option, it always runs, regardless of a previous run
with the ONCE option set.
NOTE:
If TbScan cannot write to TBSCAN.EXE because it is flagged
"read-only" or is located on a write-protected diskette, the
ONCE option fails and the scanner executes without it.
slowscroll (ss).
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 66
If you specify this option, TbScan scrolls the files in the files
window conventionally. This method is slower but looks more
attractive.
secure (se).
This option is available to registered users only. If you use it, it
is no longer possible to cancel TbScan by pressing Ctrl+Break, or to
respond to a virus alert window.
compat (co).
If you select this option, TbScan attempts to be more compatible
with your system. Use this option if the program does not behave as
you would expect, or if it even halts the system. This option slows
down the scanning process, so you should use it only if necessary.
This option in no way affects the results of a scan.
ignofile (in).
If you specify this option and TbScan doesn't find any files, TbScan
does not display the no files found message, nor does it exit with
ERRORLEVEL 1. You might use this option for automatic contents
scanning.
largedir (ld).
If TbScan's directory table runs out of space, which is very
unlikely, you can use this option to allocate a large directory
table.
fatcheck (fc).
If this option is specified, and TbScan is able to use its internal
file system, it will check the disk(s) for lost clusters, cross
linked clusters, invalid cluster numbers, and invalid allocation
sizes. These errors often indicate system problems and need to be
corrected as soon as possible. Because TbScan needs to read the FAT
and all directories anyway, it can perform this important check
without using additional time.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 67
fatinfo (fi).
If this option is specified, TbScan displays the amount of
fragmented files after it finished scanning. If the amount of
fragmented files is high, you can increase the system performance by
using a disk optimizer. This option can only be used in combination
with option "fatcheck", and if TbScan is using its internal file
system.
old (ol).
This option suppresses the message that appears if TbScan is 6
months old.
noboot (nb).
If you specify this option, TbScan does not scan the boot sector.
nofiles (nf).
This option disables the scanning of files. This can be useful if
you are the victim of a boot sector virus and want to scan a large
stack of diskettes as fast as possible.
nomem (nm).
If you specify this option, TbScan does not scan memory.
hma (hm).
By default, TbScan automatically detects the presence of an
XMS-driver and scans HMA. If you have an HMA-driver that is not
compatible with the XMS standard, you can use this option to force
TbScan to scan HMA.
nohmem (nh).
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 68
By default, TbScan identifies RAM beyond the DOS limit and scans it.
This means that it scans video memory and the current EMS pages. You
can, therefore, use this option to disable the scanning of non-DOS
memory.
nosub (ns).
By default, TbScan searches sub-directories for executable files,
unless you specify a filename (wildcards allowed). If you enable
this option, TbScan does not scan sub-directories.
noautohr (na).
TbScan automatically adjusts the heuristic detection level after it
locates a virus. In other words, when TbScan finds a virus, it
continues as if you used the HEURISTIC option. This provides you
maximum detection capabilities in case you need it, while keeping
the amount of false alarms to a minimum. If you don't want this, you
can specify option NOAUTOHR.
nowin (nw).
By default, TbScan scans Windows and OS/2 files for viruses.
Removing the checkmark disables Windows and OS/2 file scanning.
repeat (rp).
This option is very useful if you want to check a large amount of
diskettes. Instead of returning to DOS after checking a disk, TbScan
prompts you to insert another disk in the drive.
audio (aa).
This enables an audible alarm sound when TbScan finds a virus.
batch (ba).
By enabling this option, TbScan scans without displaying any
messages. If you use this option, we recommend that you use a log
file (see the LOG option below).
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 69
delete (de).
By default, if TbScan detects a virus in a file, it prompts you to
delete or rename the infected file, or to continue without action.
If you specify this option, however, TbScan deletes the infected
file automatically, without prompting you first. Use this option if
you know there is a virus infection. Make sure that you have a clean
backup, and that you really want to get rid of all infected files at
once.
kill (ki).
By default, if TbScan detects a virus in a file it prompts you to
delete or rename the infected file, or to continue without action.
If you specify the DELETE option, TbScan deletes the infected file
automatically, without prompting you first. Unlike the DELETE
option, however, KILL prevents files from being undeleted. Be
careful if you use this option. Make sure you have a clean backup!
truename (tn).
This option instructs TbScan to use "truenames" rather than DOS
names. For example, if you process a file on a network that DOS
accesses using the name F:\USER\FILE.EXE, TbScan uses the full name
\\SERVER\PUBLIC\USER\FILE.EXE on the screen and in the log.
log (lo).
When you use this option, TbScan creates a log file. The log file
lists all infected program files, specifying heuristic flags (see
Appendix B) and complete pathnames.
append (ap).
If you use this option, TbScan appends new information to an
existing log file rather than overwriting it. If you use this option
often, we recommend that you delete or truncate the log file
occasionally to avoid unlimited growth.
NOTE:
If you use this option, you must also use the LOG option.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 70
expertlog (el).
If you enable this option, TbScan does not specify the descriptions
of the heuristic flags in the log file. Appendix B lists the
heuristic flag descriptions
logname =<filename> (ln).
Using this option, you can specify the name of the log file you want
to use. TbScan creates the file in the current directory unless you
specify a path and filename after selecting this option. If the log
file already exists, TbScan overwrites it. If you want to print the
results, you can specify a printer device name rather than a
filename (for example, you can specify LOGNAME=LPT1).
NOTE:
If you use this option, you must also use the LOG option.
loglevel =<0..4> (ll).
These levels determine what kind of file information the log file
stores. The default log level is 1, but you can select one of five
log levels:
0 : Log only infected files.
This specifies that if there are no infected files, do not
create or change the log file.
1 : Log summary too.
This places a summary and time stamp in the log file, and
specifies that TbScan put only infected files in the log file.
2 : Log suspected too.
This is almost the same as level 1, but TbScan also logs
"suspected files," files that would trigger the heuristic alarm
if you specify the "High heuristic" sensitivity option.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 71
3 : Log all warnings too.
This level is an extension of the previous level. It specifies
that TbScan log all files that have a warning character printed
behind the filename.
4 : Log clean files too.
This places the information of all files being processed into
the log file.
NOTE:
If you use this option, you must also use the LOG option.
wait =<0..255> (wa).
Use this option to delay TbScan. This might be handy if you want to
scan a very busy network but don't want to occupy the network too
heavily. You have to specify the amount of timer ticks you want to
insert between scanned files.
rename [=<text-mask>] (rn).
By default, if TbScan detects a file virus, it prompts you to delete
or rename the infected file, or to continue without action. If you
select this option, TbScan renames the infected file automatically,
without prompting you first. Also by default, TbScan replaces the
first character of the file extension with the character 'V.' It
renames an .EXE file to .VXE, for example, and a .COM file to .VOM.
This prevents the execution of infected programs and thereby
prevents spreading the infection. This option also enables you to
keep the infected files for later examination and repair. You can
also add a parameter to this option specifying the target extension.
This parameter should always contain three characters; you can use
question marks. The default target extension is "V??."
exec =.<ext-mask> (ee).
Using this option you can add filename extensions that indicate what
files are executable. If you want to use this option, you probably
want to put it in the configuration file. Refer to the "Advanced
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 72
Options" Option section earlier in this chapter for an explanation
of configuring executable extensions.
Here are a few examples using TbScan from the DOS command line.
1. This command:
TBSCAN C:\ NOBOOT
scans all executable files in the root directory and its
subdirectories and skips the boot sector scan.
2. This command:
TBSCAN \*.*
scans all files in the root directory but does not process
subdirectories.
3. This command:
TBSCAN C:\ LOG LOGNAME=C:\TEST.LOG LOGLEVEL=2
scans all executable files on drive C: and creates a LOG file named
C:\TEST.LOG that contains all infected and suspected files.
4. This command:
TBSCAN \ LOG LOGNAME=LPT1
scans the root directory and its subdirectories and then redirects
the results to the printer instead of a log file.
3.2.4 Understanding the Scanning Process
This section adds to your knowledge of TbScan by explaining a little more
about the scanning process. TbScan starts scanning immediately whenever
you run it from the DOS command line or select the Start Scanning
option in the TbScan Menu. As TbScan begins its scan, your screen will
look similar to the following:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 73
TbScan divides the screen into three windows: an information window (at
the top), a scanning window (the bottom-left window) and a status window
(to the right of the scanning window). The information window initially
displays the vendor information only.
+-----------------------------------------------------------------+
|Thunderbyte virus detector (C) 1989-95, Thunderbyte B.V. |
| |
| TBAV is upgraded every two months. Free hotline support is |
| provided for all registered users via telephone, fax and |
| electronic bulletin board. Read the comprehensive documentation |
| files for detailed info. |
| |
| C:\DOS\ |
| |
| ANSI.SYS scanning..> OK signatures: 986 |
| COUNTRY.SYS skipping..> OK |
| DISKCOPY.COM tracing...> OK file system: OWN |
| DISPLAY.SYS scanning..> OK |
| DRIVER.SYS scanning..> OK directories: 01 |
| EGA.CPI skipping..> OK total files: 17 |
| FASTOPEN.EXE looking...> OK executables: 12 |
| FDISK.EXE looking...> OK CRC verified: 10 |
| FORMAT.COM tracing...> E OK changed files: 00 |
| GRAFTABL.COM tracing...> OK infected items: 00 |
| GRAPHICS.COM tracing...> OK |
| GRAPHICS.PRO skipping..> OK elapsed time: 00:05 |
| Kb /second: 57 |
+-----------------------------------------------------------------+
If TbScan detects infected files, it displays the names of the file and
the virus in the upper window. The lower left window displays the names
of the files being processed, the algorithm in use, information and
heuristic flags, and finally an OK statement or the name of the virus
detected.
Notice the following example:
NLSFUNC.EXE checking..> FU OK
| | | |
| | | result of scan
| | heuristic flags
| algorithm being used to process file
name of file in process
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 74
You will see comments following each file name, such as: "looking,"
"checking," "tracing," "scanning," or "skipping." These refer to the
various algorithms being used to scan files.
Other comments that TbScan displays here are the heuristic flags. Consult
the Understanding Heuristic Flags section later in this chapter and
Appendix B for more information on these warning characters.
The lower right window is the status window. It displays the number of
files and directories encountered as well as the number of viruses found.
It also displays which file system is being used: either DOS or OWN.
The latter means that TbScan is able to bypass DOS. If this is the case,
TbScan reads all files directly from disk for extra security and speed.
You can abort the scanning process by pressing the two keys Ctrl+Break
simultaneously (that is, if you didn't specify the "SECURE" option).
When TbScan detects an infected program, it displays the name of the
virus. If you did not specify the BATCH, RENAME or DELETE options, TbScan
prompts you to specify the appropriate action. If you choose to rename
the file, TbScan replaces the first character of the file extension with
the character 'V.' This prevents you or someone else from accidentally
executing the file before you can investigate it more thoroughly.
If TbScan detects an infected file, it displays one of the following
messages:
[Name of file] is infected by [name of virus] virus.
The file is infected by the virus mentioned.
[Name of file] is Joke named [name of Joke].
Some programs simulate that the system is infected by a virus; such
a program is a "joke." A joke is completely harmless; however it
causes confusion and might cause people to stop using the computer,
and should therefore be removed..
[Name of file] is Trojan named [name of Trojan].
The file is a Trojan Horse. A Trojan Horse is a program that
pretends to be a harmless program (like a game) but it is designed
to do something harmful like erasing a disk. Some Trojan Horses also
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 75
install viruses on your system. Do not execute the program, but
delete it instead.
[Name of file] damaged by [name of virus].
Unlike an infected file, which carries the virus itself, a damaged
file has only been damaged by the virus.
[Name of file] dropper of [name of virus].
A "dropper" is a program that has not been infected itself, but
which does contain a boot sector virus and is able to install it
into your boot sector.
[Name of file] garbage: (not a virus) [name of garbage].
A "garbage" program is a file that does not work because it is badly
damaged or may have been overwritten with "garbage." Some virus
collections (i.e. a CD-ROM based virus collection) contain
"garbage-like" program code that was designed specifically to
trigger virus detection programs (and fool them), which is exactly
why ThunderBYTE identifies them as "garbage."
It is also possible for TbScan to encounter a file that appears infected
by a virus, although it could not find a signature. In this case TbScan
displays the prefix "Probably" before the message.
If TbScan finds a file to be suspicious and displays a virus alert
window, you can avoid future false alarms by pressing V (Validate
program). Note that this works only if there is an ANTI-VIR.DAT record of
the file available. Once TbScan validates a program, the program is no
longer subject to heuristic analysis, unless the program changes and no
longer matches the ANTI-VIR.DAT record. This will be the case if such a
file becomes infected at a later time. In such a case, TbScan still
reports infections on these files.
NOTE:
Be aware that a validated program is still subject to the
conventional signature scanning.
If you specify the HEURISTIC or the HIGH HEURISTIC SENSITIVITY option, it
is likely that TbScan will find some files that look like a virus. In
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 76
this case, TbScan uses the prefix "Might be" to inform you about it. So,
if TbScan displays:
[Name of file] Probably infected by an unknown virus
or:
[Name of file] Might be infected by an unknown virus
it does not necessarily mean that the file is infected. There are a
lot of files that look like a virus but are not.
It is extremely important to understand that false alarms are part of the
nature of heuristic scanning. In its default mode, it is very unlikely
that TbScan will issue a false alarm. If you specify the HEURISTIC
option, however, some false alarms might occur.
How should you deal with false alarms? If TbScan thinks it has found a
virus, it tells you the reason for this suspicion. In most cases you will
be able to evaluate these reasons when you consider the purpose of the
suspected file.
NOTE:
Viruses infect other programs. It is, therefore, unlikely that you
will find only a few infected files on a hard disk you use
frequently. You should ignore the result of a heuristic scan if only
a few programs on your hard disk trigger it. If, on the other hand,
your system behaves "strangely" and several programs trigger the
TbScan alarm with the same serious flags, your system
could very well be infected by a (yet unknown) virus.
3.2.5 Understanding Heuristic Flags
Heuristic flags consist of single characters that appear behind the name
of the file that just scanned. There are two kinds of flags: the
informative ones, which appear in lower-case characters, and the more
serious flags, which appear in upper-case characters.
The lower-case flags indicate special characteristics of the file being
scanned, whereas the upper-case warnings might indicate a virus. If the
loglevel is 3 or above, the important warnings not only appear as a
warning character, but TbScan also adds a description to the log file.
How should you treat the flags? You can consider the less important
lower-case flags to be informational only; they provide file information
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 77
you might find interesting. The more serious uppercase warning flags
MIGHT (we repeat, MIGHT) indicate a virus. It is quite normal that you
have some files in your system that trigger an uppercase flag.
NOTE:
Appendix B lists the heuristic flag descriptions.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 78
3.3 Using TbDriver
TbDriver is a small memory-resident (TSR) program that you must load
before any of the other TBAV memory-resident utilities. This brief
section explains the use of TbDriver.
3.3.1 Understanding TbDriver
By itself, TbDriver does not provide much protection against viruses,
rather its use is to enable the memory resident ThunderBYTE Anti-Virus
utilities, such as TbScanX, TbCheck, TbMem, TbFile, and TbDisk, to
perform properly. It is the source for some of the routines these
utilities have in common, including: support to generate the pop-up
window routines, driving the translation unit that enables the
possibility of displaying messages in your native language, and support
for networks. Additionally, TbDriver also contains basic protection
against "stealth" viruses and against "ANSI bombs."
NOTE:
See the NOFILTER option below for an explanation of an ANSI bomb.
3.3.2 Working with TbDriver
You must load TbDriver before loading any of the other memory-resident
TBAV utilities. If you ran the TBAV Install program, TbDriver is already
set up to load automatically when you boot. Your AUTOEXEC.BAT file calls
the TBSTART.BAT file, which in turn loads TbDriver.
If you prefer, you can load TbDriver directly from the command line or
from an individual line in AUTOEXEC.BAT by using this command:
<PATH>TBDRIVER
If TbDriver resides in the TBAV directory on drive C:, for example, you
could enter C:\TBAV\TBDRIVER.
An even more secure way to load TbDriver, and the other TBAV
memory-resident utilities (which we ll examine in more detail in the
Using TbScanX section later in this chapter), is to load it via the
CONFIG.SYS file. After removing the call to TBSTART.BAT in AUTOEXEC.BAT,
you could put the following command in CONFIG.SYS:
DEVICE=<PATH>TBDRIVER.EXE
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 79
If TbDriver resides in the TBAV directory on drive C:, for example, you
could enter DEVICE=C:\TBAV\TBDRIVER.EXE.
TIP:
If you want protection against ANSI-bombs, you should load TbDriver
AFTER the ANSI.SYS driver. Also, if you install TbDriver on a
machine that boots from a boot ROM, specify the message file with
the drive and path where it resides AFTER the machine boots. The
default message file will no longer be accessible after the machine
boots.
3.3.3 Maximizing TbDriver
This section describes how to use TbDriver's option to maximize its
performance and how to get foreign language support for the TBAV
utilities.
When you run TbDriver from the DOS command line, it recognizes command
line options (often called "switches" in DOS terms). These options appear
as "key-words" or "key-letters." The words are easier to memorize, so we
will use these in this manual for convenience.
TbDriver enables you to specify loading options on the command line. It
treats a filename specification as a language file specification (see the
following "Getting Language Support" section).
The first three options in the following table are always available. The
other options are available only if TbDriver is not already memory
resident. The command-line syntax is as follows:
TBDRIVER [<PATH>][<FILENAME>]... [<OPTIONS>]...
TbDriver recognizes the following options:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 80
option parameter short explanation
------------------ ----- -----------
help ? help
net n force LAN support
remove r remove TbDriver from memory
mode=<m|c> m override video mode (mono|color)
freeze j freeze the machine after an alert
lcd l enhance output on LCD screens
noavok=<drives> o assume permission for specified drives when
ANTI-VIR.DAT record is missing
quiet q do not display activity
secure s do not allow permission updates
notunnel t do not detect tunneling
nofilter f do not filter dangerous ANSI codes
nostack ns do not install a stack
The explanations in the above table serve as a quick reference, but the
following descriptions provide more information about each option.
TIP:
Remember that you can display these options from the command line by
entering TBDRIVER ?.
help (?).
If you specify this option, TbDriver shows you the valid command
line options as listed above.
net (n).
TbDriver cooperates well with most networks. In normal situations
you will not need the NET option at all. You should use it only if
both the following conditions are true at the same time:
1. You make a connection to a Novell network and TBDRIVER.EXE
before using the logon command.
2. There is no valid ANTI-VIR.DAT record in the directory where
the NET?.COM program resides or after renaming the NET?.COM
file.
remove (r).
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 81
This option disables TbDriver and attempts to remove the resident
part of its code from memory and return this memory space to the
system.
Unfortunately, this works only if you loaded TbDriver last. An
attempt to remove a TSR after you load another TSR leaves a useless
gap in memory and could disrupt the interrupt chain. TbDriver checks
whether it is safe to remove its resident code; if not, it simply
disables itself.
mode (m).
On dual video systems TbDriver uses the currently active screen. It
might be forced to use the alternate screen with the MODE=M option
for monochrome or the MODE=C option for color systems.
lcd (l).
This option enhances the output on LCD screens.
freeze (f).
This option freezes the computer when there is a virus alert.
noavok (o).
We don't recommend this option for normal use. You might need it to
grant permission automatically for programs without an ANTI-VIR.DAT
record. The option requires a parameter specifying the drives to
which the default permission applies. If, for example, you do not
want TbMem to display a message when a TSR without ANTI-VIR.DAT
executes from drive E: and F:, you could specify NOAVOK=EF on the
TbDriver command line. Additionally, if you want to exclude network
drives, you should use an asterisk [*]. For example, if you want to
grant permission for all files without ANTI-VIR.DAT records on drive
A:, your ram disk F: and your remote network drives, specify
NOAVOK=AF*.
quiet (q).
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 82
Some resident TBAV utilities display an activity status. TbScanX,
for instance, displays a rectangle with the word Scanning in the
upper left corner of your screen while scanning a file. The QUIET
option disables this message.
secure (s).
Some ThunderBYTE utilities can store permission flags in the
ANTI-VIR.DAT files. You can use this option if you don't want these
flags changed. It has no effect on flags already set, so you can use
the option after installing new programs or packages.
notunnel (t).
"Tunneling" is a technique viruses apply to determine the location
of the DOS system code in memory, and to use that address to
communicate with DOS directly. This inactivates all TSR programs,
including resident anti-virus software. TbDriver is able to detect
these tunneling attempts, and informs you about it. Some other
anti-virus products also rely on tunneling techniques to bypass
resident viruses, thereby causing false alarms. If you are currently
executing other anti-viral products, the NOTUNNEL option disables
TbDriver's tunneling detection.
nofilter (f).
The original ANSI driver has a feature to assign text strings to
keys. Years ago people used this feature, for example, to assign the
DIR /W command to the F10 key. Such reprogramming can be done simply
by embedded ANSI codes in batch files. Almost no one uses this
feature nowadays. Some misguided people, however, use this feature,
for example, to make a text file that reprograms the Enter key to
execute the DEL *.* command or something even worse. Such a file is
an "ANSI-bomb." TbDriver protects you against ANSI-bombs by
filtering out the keyboard reprogramming codes. All other ANSI codes
pass without interference. If you don't want this protection, or if
you want to use this obsolete ANSI feature, you can use the NOFILTER
option.
nostack (ns).
By default, TbDriver maintains a stack for the resident TBAV
utilities. For most systems, however, this isn't necessary. If you
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 83
use this option, TbDriver uses the application stack, saving a few
hundred bytes of memory. If the system hangs or becomes unstable,
however, discontinue use of this option.
You can use the optional filename specification to direct TbDriver to the
location of the language file you want to use. TbDriver retrieves pop-up
window messages from a TBDRIVER.LNG file, which it expects to find in its
own home directory. The default English language file is TBDRIVER.LNG,
which you can replace with a file in your local language. You can order
separate language support packages at your local ThunderBYTE dealer, or
download the language file from a ThunderBYTE support BBS. See the
Maintaining the System section in Chapter 1 for more information about
the ThunderBYTE support BBS.
To load a language file, either rename it to the default (TBDRIVER.LNG),
or specify the full path and filename following the command. You can also
switch to another language by calling TbDriver again with a different
message file. This will not take up any extra memory.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 84
3.4 Using TbScanX
TbScanX is virtually identical to TbScan, with one important difference:
TbScan is memory-resident. This section describes TbScanX in detail.
3.4.1 Understanding TbScanX
To implement real-time or on-the-fly virus protection, the TBAV for DOS
utilities include the TbScanX program, a memory-resident (TSR) program
that tracks all file operations. If you copy an infected file from a
diskette to your hard disk, for example, TbScanX recognizes the virus
hidden in the file and informs you about it, BEFORE the virus becomes
active.
Why use TbScanX? Let's assume you have a virus scanner that automatically
runs from your AUTOEXEC.BAT file. If it doesn't find any viruses, your
system should be uninfected. Right? Not necessarily. To be sure that no
virus infects your system, you need to execute the scanner every time you
copy a file to your hard disk, after downloading a file from a bulletin
board system, or after unarchiving an archive such as a ZIP file. Now be
honest, do YOU invoke your scanner every time you introduce a new file
into the system? If you don t, you take the risk that within a couple of
hours all files will become infected by a virus.
Once you load TbScanX, it remains resident in memory and automatically
scans all files you execute and all executable files you copy, create,
download, modify, or unarchive. It uses the same approach to protect
against boot sector viruses; every time you put a diskette into a drive,
TbScanX scans the boot sector. If the disk is contaminated with a boot
sector virus, TbScanX warns you in time!
NOTE:
TbScanX is fully network compatible. It does not require you to
reload the scanner after logging onto the network.
3.4.2 Working with TbScanX
Since TbScanX is memory resident, you can execute and configure the
program from the command line or from within a batch file. It is
important to load TbScanX as early as possible after the machine boots.
We therefore recommend that you execute TbScanX from within the
CONFIG.SYS file.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 85
CAUTION:
TbScanX requires that you load TbDriver first! See the previous
section on "Using TbDriver" for details.
There are three possible ways to load TbScanX:
1. From the DOS prompt or within the AUTOEXEC.BAT file:
<PATH>TBSCANX
2. From the CONFIG.SYS files as a TSR (DOS 4+ and above):
INSTALL=<PATH>TBSCANX.EXE
The INSTALL= CONFIG.SYS command is NOT available in DOS 3.xx.
3. From the CONFIG.SYS as a device driver:
DEVICE=<PATH>TBSCANX.EXE
NOTE:
Using TbScanX as a device driver does not work in all OEM
versions of DOS. If it does not work, use the INSTALL= command
or load TbScanX from within the AUTOEXEC.BAT. TbScanX should
always work correctly if you run it from AUTOEXEC.BAT.
Unlike other anti-virus products, you can load the ThunderBYTE Anti-Virus
Utilities before starting a network without losing the protection
afterwards.
In addition to the three loading possibilities, you can also load TbScanX
into an available UMB (upper memory block) if you are using DOS version 5
or higher. To accomplish this from AUTOEXEC.BAT, use the following
command:
LOADHIGH <PATH>TBSCANX
Alternately, to accomplish this from CONFIG.SYS, use the following
command:
DEVICEHIGH=<PATH>TBSCANX.EXE
If you are using Microsoft Windows, you should load TbScanX BEFORE
starting Windows. When you do this, there is only one copy of TbScanX in
memory regardless of how many DOS windows you might open. Every DOS
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 86
window (that is, every virtual machine ) has a fully functional copy of
TbScanX running in it.
TbScanX automatically detects if Windows is running, and switches itself
in multitasking mode if necessary. You can even disable TbScanX in one
window without affecting the functionality in another window.
NOTE:
TBAV for Windows includes a full-featured resident scanner. Please
refer to the TBAV for Windows documentation for more information.
3.4.3 Maximizing TbScanX
When you run TbScanX from the DOS command line, it recognizes command
line options (often called "switches" in DOS terms). These options appear
as "key-words" or "key-letters." The words are easier to memorize, so we
will use these in this manual for convenience.
You can maximize TbScanX's performance by using one or more command line
options. The first four options in the following table are always
available. The other options are available only if TbScanX is not already
resident in memory.
option parameter short explanation
------------------ ----- ----------------------------------------
help ? display on-line help
off d disable scanning
on e enable scanning
remove r remove TbScanX from memory
noexec n never scan at execute
allexec[=<drives>] a always scan at execute
noboot b do not scan boot sectors
wild w only search viruses which appear "in the
wild"
ems me use expanded memory (EMS)
xms mx use extended memory (XMS)
secure s deny all suspicious operations
lock l lock PC when a virus is detected
api i load TbScanX's Application Program
Interface
compat c increase compatibility
The explanations in the above table serve as a quick reference, but the
following descriptions provide more information about each option.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 87
TIP:
Remember that you can display these options from the command line by
entering TBSCANX ?.
help (?).
This option displays the command line options as shown above. Once
you load TbScanX, however, this option does not display all the
options.
off (d).
This option disables TbScanX, but leaves it in memory.
on (e).
This option re-enables TbScanX after you disable it with the OFF
option.
remove (r).
This option disables TbScanX and attempts to remove the resident
part of its code from memory and return this memory space to the
system. Unfortunately, this works only if you loaded TbScanX last.
An attempt to remove a TSR after you load another TSR leaves a
useless gap in memory and could disrupt the interrupt chain. TbScanX
checks whether it is safe to remove its resident code; if not, it
simply disables itself.
noexec (n).
TbScanX normally scans files located on removable media just before
they execute. You can use this option to disable this feature
completely.
allexec (a).
TbScanX normally scans executable files only if they reside on
removable media. It "trusts" files on the hard disk, since these
files must have been copied or downloaded before, and since by this
time TbScanX has already scanned them automatically. If you want to
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 88
scan every file before it executes, however, regardless of whether
it is on the hard disk or removable media, you should use this
option. It is possible to explicitly specify drives from which you
want executed files to be scanned. For example, if you specify
option ALLEXEC=DF, then TbScanX will only scan files being executed
that reside on either drive D: or drive F:.
noboot (b).
TbScanX automatically monitors the disk system. Every time DOS reads
the boot sector, TbScanX scans the disk for boot sector viruses. If
you change a disk, DOS first reads the boot sector; otherwise it
does not know what kind of disk is in the drive. As soon as DOS
reads the boot sector, TbScanX checks it for viruses. If you don't
like this feature, or if it causes problems, you can switch it off
using the NOBOOT option.
wild (w).
TbScanX can distinguish viruses that do not appear "in the wild"
from frequently appearing viruses. In order to reduce the memory
requirements of TbScanX, you can specify option WILD, which makes
TbScanX load and use the viruses signatures from viruses that
frequently appear "in the wild." This option is disabled by default.
ems (me).
If you specify this option, TbScanX uses expanded memory (such as
that provided by the LIM/EMS expansion boards or 80386 memory
managers) to store the signatures and part of its program code.
Since conventional memory is more valuable to your programs than
expanded memory, we recommend the use of EMS memory. TbScanX can use
up to 64Kb of EMS memory. (Refer to the XMS option also.)
xms (mx).
If you specify this option TbScanX uses extended memory to store the
signatures and part of its program code. An XMS driver (such as
DOS's HIMEM.SYS) must be installed to be able to use this option.
XMS memory is not directly accessible from within DOS, so every time
TbScanX has to scan data it has to copy the signatures to
conventional memory. To be able to save the original memory
contents, TbScanX needs a double amount of XMS memory. Swapping to
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 89
XMS is slower than swapping to EMS memory, so if you have EMS memory
available, we recommend swapping to EMS. Swapping to XMS might
conflict with some other software, so if you experience problems try
using TbScanX without the XMS option.
secure (s).
TbScanX normally asks you to continue or to cancel when it detects a
virus. In some business environments, however, employees should not
make this choice. By using the SECURE option, you can disallow
suspicious operations.
NOTE:
This option also disables the OFF and REMOVE options.
lock (l).
If you are a system operator, you can use this option to instruct
TbScanX to lock the system when it detects a virus.
api (i).
This option is for advanced users only. It enables TbScanX's
Application Program Interface (API), which is necessary if you want
to call TbScanX from within your application. Consult the
ADDENDUM.DOC file for detailed programming information.
compat (c).
In most systems TbScanX performs trouble free. Another TSR program,
however, might conflict with TbScanX. If you load the other TSR
first, TbScanX normally detects the conflict and uses an alternate
interrupt. If, on the other hand, you load the other TSR after
TbScanX, and it aborts with a message telling you that it is already
loaded, you can use the COMPAT switch of TbScanX (when installing it
in memory). It is also possible for TbScanX to conflict with other
resident software that is using EMS or XMS. In this case, the system
will hang. Again, the COMPAT option solves this problem, but be
aware that due to extensive memory swapping, TbScanX's performance
will slow down.
TIP:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 90
If you are using DOS version 5 or above and have extended
memory (XMS) on your system, you can use EMM386.SYS to treat a
portion or extended memory as expanded memory (EMS). See your
DOS manual for details.
Here is one example of loading TbScanX:
DEVICE=C:\TBAV\TBSCANX.EXE XMS NOBOOT
In this example, the memory resident portion of TbScanX loads into
extended memory (XMS) and will not scan boot sectors for viruses.
3.4.4 Understanding the Scanning Process
This section adds to your knowledge of TbScanX by explaining a little
more about the scanning process.
Whenever a program tries to write to an executable file (files with the
extensions .COM and .EXE), you will briefly see the text "*Scanning*" in
the upper left corner of your screen. As long as TbScanX is scanning,
this text appears. Since TbScanX takes very little time to scan a file,
the message appears very briefly. The text "*Scanning*" also appears if
you execute a program directly from a diskette, and if DOS accesses the
boot sector of a diskette drive.
If TbScanX detects a suspicious signature that is about to be written
into a file, a window appears similar to the one displayed below:
+---------TBAV interception---------+
| WARNING! |
| TbScanX detected that COMMAND.COM |
| is infected with |
| Yankee_Doodle {1} |
| Abort? (Y/N) |
+-----------------------------------+
Whenever this message appears, you should press N to continue, or any
other key to abort. If TbScanX detects a suspicious signature in a boot
sector, it displays a message like the following:
+------------TBAV interception-----------+
| WARNING! |
| TbScanX detected that the bootsector |
| of disk in drive A: is infected with |
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 91
| Form |
| Do NOT attempt to boot with that disk! |
+----------------------------------------+
Although a virus seems to be in the boot sector of the specified drive,
the virus cannot do anything since it has not yet executed. If you reboot
the machine with the contaminated diskette in the drive, however, the
virus copies itself into memory and onto your hard disk.
NOTE:
To display the name of a virus, TbScanX needs access to the virus
signature file (TBSCAN.SIG). If for any reason TbScanX cannot access
this file, it still detects viruses, but no longer displays the name
of the virus. It displays "[Name unknown]" instead.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 92
3.5 Using TbCheck
This section describes another one of TBAV's memory resident (TSR)
utilities, TbCheck.
3.5.1 Understanding TbCheck
TbCheck is a memory-resident integrity checker that comes into action
whenever the system is about to execute a file. It uses the ANTI-VIR.DAT
records TbSetup generates to detect file changes, which is often the
first sign of a virus infection. These records contain information, such
as file sizes and checksums, of every executable file in a directory. By
comparing this information with the actual file status, it is possible to
detect automatically any changes, including infections caused by viruses.
Assume your AUTOEXEC.BAT file automatically loads a conventional
integrity checker. If no files appear changed, your system should be
uninfected, but to be sure that no virus can infect your system, you have
to execute the checker frequently. In contrast, once you load TbCheck, it
remains resident in memory, and automatically checks all programs you try
to execute.
NOTE:
TbCheck is fully network compatible. It does not require you to
reload the checker after you are logged onto the network.
3.5.2 Working with TbCheck
Since TbCheck is a memory resident program, you can execute and configure
it from the DOS command line or from within a batch file. You should,
however, load TbCheck automatically when the computer boots, preferably
during the execution of AUTOEXEC.BAT, or better yet, CONFIG.SYS.
CAUTION:
Be sure to load TbDriver before trying to load TbCheck. TbCheck will
refuse to load without it.
There are three possible ways to start TbCheck:
1. From the DOS prompt or within the AUTOEXEC.BAT file:
<PATH>TBCHECK
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 93
2. From CONFIG.SYS as a TSR (DOS 4 or above):
INSTALL=<PATH>TBCHECK.EXE
The INSTALL= CONFIG.SYS command is NOT available in DOS 3.xx.
3. From CONFIG.SYS as a device driver:
DEVICE=<PATH>TBCHECK.EXE
NOTE:
Executing TbCheck as a device driver does not work in all OEM
versions of DOS. If it doesn't work, use the INSTALL= command
or load TbCheck from AUTOEXEC.BAT. TbCheck should always work
correctly if you load it from AUTOEXEC.BAT. Also, unlike other
anti-virus products, you can load the ThunderBYTE Anti-Virus
utilities before starting a network without losing the
protection after the network is started.
In addition to the three loading possibilities, if you are using DOS
version 5 or above, you can load TbCheck into an available UMB (upper
memory block) from AUTOEXEC.BAT using this command:
LOADHIGH <PATH>TBCHECK
You can also load TbCheck into high memory from within the CONFIG.SYS
using this command:
DEVICEHIGH=<PATH>TBCHECK.EXE
If you are using Microsoft Windows, you should load TbCheck BEFORE
starting Windows. When you do this, there is only one copy of TbCheck in
memory regardless of how many DOS windows you might open. Every DOS
window (that is, every virtual machine ) has a fully functional copy of
TbCheck running in it.
TbCheck automatically detects if Windows is running, and switches itself
into multi-tasking mode if necessary. You can even disable TbCheck in one
window without effecting the functionality in another window.
NOTE:
TBAV for Windows comes with a full-fledges Windows-based version of
TbCheck. Please refer to the documentation of TBAV for Windows for
more information.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 94
3.5.3 Maximizing TbCheck
When you run TbCheck from the DOS command line, it recognizes command
line options (often called "switches" in DOS terms). These options appear
as "key-words" or "key-letters." The words are easier to memorize, so we
will use these in this manual for convenience.
You can maximize TbCheck's performance by using it's various options. The
first four options in the following table are always available. The other
options are available only if TbCheck is not yet memory resident.
option parameter short explanation
----------------- ----- ----------------------------------------
help ? display on-line help
remove r remove TbCheck from memory
off d disable checking
on e enable checking
noavok [=<drives>] o do not warn for missing ANTI-VIR.DAT record
fullcrc f calculate full CRC (slow!)
secure s do not execute unauthorized files
The explanations in the above table serve as a quick reference, but the
following descriptions provide more information about each option.
TIP:
Remember that you can display these options from the command line by
entering TBCHECK ?.
help (?).
Specifying this option displays the above options list.
remove (r).
This option disables TbCheck and attempts to remove the resident
part of its code from memory and return this memory space to the
system. Unfortunately, this works only if you loaded TbCheck last.
An attempt to remove a TSR after you load another TSR leaves a
useless gap in memory and could disrupt the interrupt chain. TbCheck
checks whether it is safe to remove its resident code; if not, it
simply disables itself.
off (d).
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 95
This option disables TbCheck, but leaves it in memory.
on (e).
This re-enables TbCheck after having been disabled with the OFF
option.
noavok (o).
TbCheck looks in the ANTI-VIR.DAT file for checksum information on
the file you want to check. TbCheck displays a message if it finds
no checksum information or if the specific checksum is incorrect.
This ensures that you will receive a warning whenever a malicious
program deletes the ANTI-VIR.DAT file. Although we recommend that
you maintain ANTI-VIR.DAT files on all drives, this might not always
be practical with floppy disks, RAM disks, or CD-ROM disks. This
option, therefore, tells TbCheck not to look for an ANTI-VIR.DAT on
specific drives. For example, if you don't want TbCheck to alert you
about the absence of an ANTI-VIR.DAT record on floppy disks A: and
B: or on your RAM disk E:, you should load TbCheck using the
following command line:
<PATH>TBCHECK NOAVOK=ABE
If you don't want a message when an ANTI-VIR.DAT record is missing
on network drives, you should specify an asterisk (*) instead of a
drive letter. If you don't specify a drive to the NOAVOK option,
TbCheck never issues a warning if an ANTI-VIR.DAT record is missing
on any drive.
CAUTION:
This presents a security hole for viruses: by deleting the
ANTI-VIR.DAT file you will not be able to detect file changes
caused by a viral infection. Also, please note that the NOAVOK
option does not prevent the detection of infected programs if
the ANTI-VIR record is available. If a program has changed and
the ANTI-VIR record is available, you will still get an alarm
regardless of how you implement the NOAVOK option.
fullcrc (f).
By default, TbCheck verifies only that part of the file near the
program's entry point. If a virus infects the file, this area will
definitely change, so this is perfectly adequate to detect all
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 96
infections. Other file changes, notably configuration variations,
will not trigger the alarm. If, however, you should ever desire a
full check that detects ANY file changes, this option takes care of
it. Be aware that this option slows down the system considerably, so
we don't recommend its use in normal circumstances.
secure (s).
TbCheck normally asks whether you want to continue or cancel when a
file has been changed or when there is no checksum information
available. In a business environment it may be unwise to leave such
decisions to employees. Option SECURE makes it impossible to execute
new or unknown programs, or programs that have been changed.
NOTE:
Be aware that the SECURE option also disables the OFF and
REMOVE options.
3.5.4 Understanding the Scanning Process
This section adds to your knowledge of TbCheck by explaining a little
more about the scanning process.
Whenever a program wants to execute, TbCheck steps in to see if it really
has the authority to do so. During that time it displays the message
"*Checking*" in the upper left hand corner of the screen. TbCheck
operates at lightning speed, so the message appears only momentarily.
TbCheck quickly checks a program when the program loads. If TbCheck
detects that a file has changed, a notification message appears. At this
point, you can choose to either continue, or to abort the program's
execution.
If there is no information in the ANTI-VIR.DAT file about the program,
TbCheck also informs you of this. You can either choose to continue
without checking, or to abort the program's execution.
TIP:
You can prevent users from executing unauthorized software by using
the SECURE option.
3.5.5 Testing TbCheck
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 97
Understandably, many users wish to test the product they are using. In
contrast to a word processor, for example, it is very difficult to test a
smart integrity checker like TbCheck. You cannot change a random 25 bytes
of an executable file just to find out whether TbCheck detects the file
change. On the contrary, it is very likely that TbCheck will NOT detect
it because the program checks only the entry area of the file, whereas
the changed bytes might reside in another location within the file. But
again, if a virus infects the file, this entry area will definitely
change, so this is perfectly adequate to detect all infections.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 98
3.6 Using TbClean
In case a virus infects one or more files, and you wish to remove the
virus from those files (for example, in case you do not have a clean
backup of the files), you can use TbClean. TbClean is the program that
can remove viruses from infected files, even without knowing the virus
itself. This section explores TbClean.
3.6.1 Understanding TbClean
TbClean isolates viral code in an infected program and removes it. It is
then safe to use the program again, since TbClean securely eliminates the
risk of other files becoming infected or damaged.
Understanding the Repair Cleaner
TbClean works differently from conventional virus cleaners because it
does not actually recognize any specific virus. TbClean's disinfection
scheme is unique, employing ThunderBYTE's heuristic ( learn as you go )
technology so that it works with almost any virus.
Actually, the TbClean program contains two cleaners: a "repair" cleaner,
and a "heuristic" cleaner. The repair cleaner needs an ANTI-VIR.DAT file
generated by the TbSetup program before the infection occured. This
ANTI-VIR.DAT file contains essential information such as the original
file size, the bytes at the beginning of the program, a cryptographic
checksum to verify the results, etc. This information enables TbClean to
disinfect almost every file, regardless of the specific virus that has
infected it, even if it is unknown.
Understanding the Heuristic Cleaner
In the heuristic cleaning mode TbClean does not need any information
about viruses either, but it has the added advantage that it does not
even care about the original, uninfected state of a program. This
cleaning mode is very effective if your system becomes infected with an
unknown virus and you neglected to let TbSetup generate the ANTI-VIR.DAT
files in time.
In the heuristic mode, TbClean loads the infected file and starts
emulating the program code to find out which part of the file belongs to
the original program and which belongs to the virus. The result is
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 99
successful if TbClean restores the functionality of the original program,
and reduces the functionality of the virus to zero.
NOTE:
This does not imply that the cleaned file is 100% equal to the
original. Please read on.
When TbClean uses heuristic cleaning to disinfect a program, the file
most likely will not be exactly the same as in its original state. This
does not imply a failure on TbClean s part, nor does it mean the file is
still infected in some way.
It is actually normal that the heuristically cleaned file is still larger
than the original. This is normal because TbClean tries to be on the safe
side and avoids removing too much. The bytes left at the end of the file
are dead code, that is, instructions that will never execute again
since TbClean removes the jump at the beginning of the program. If the
cleaned file is an EXE type file, it is likely that some bytes in front
of the program (the EXE-header ) are different. There are several
suitable solutions for reconstructing the EXE-header, so TbClean
cannot, of course, know the original state of the program. The
functionality of the cleaned file will nevertheless be the same.
NOTE:
This applies only to heuristic cleaning. If there is a suitable
ANTI-VIR.DAT record available, the cleaned program will normally be
exactly the same as the original clean file.
It's also possible for a virus to infect a file with multiple viruses, or
multiple instances of the same virus. Some viruses keep on infecting
files, and in such cases the number of infected files keeps growing. If
TbClean used its heuristic cleaning mode, it is very likely that TbClean
removed only one instance of the virus. In this case, it is necessary to
repeat the cleaning process until TbClean reports that it cannot remove
anything else.
3.6.2 Working with the TbClean Menus
Selecting TbClean from TBAV's Main Menu displays the following menu:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 100
+-----Main menu-----+
| Confi+------TbClean men-------+
| TbSca| Start cleaning |
| TbSet| List file name |
| TbUti| Use TBAV. INI file |
| TbCLe| Prompt for pause |
| Virus|v Use Anti-Vir.Dat |
| TBAV |v Use Heuristics |
| Docum|v Expanded memory |
| Regis| Display program loops |
| About| Make list file |
| Quit +------------------------+
| eXit (no save) |
+-------------------+
We'll now explore these menu options.
The "Start Cleaning" Option
After tracking one or more viruses, all you should do is select the
Start cleaning option. After specifying the relevant filename, TbClean
goes into action. Before beginning, however, you can select various
parameters. We will explore these in the following sections.
The "List File Name" Option
By selecting this option you can specify a filename to use as a list file
(see also the Make list file option below).
The "Use TBAV.INI File" Option
If you enable this option, the TbClean configuration values, saved in the
TBAV.INI file, will also be valid if you run TbClean from the DOS command
line. Be careful, however, since if you specify options in the TBAV.INI
file, you cannot undo them on the command line. See the "Configuring
TBAV" section of Chapter 1 for details about TBAV.INI.
The "Prompt For Pause" Option
This option instructs TbClean to stop disassembling information after
each full screen, enabling you to examine the results.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 101
The "Use ANTI-VIR.DAT" Option
If you turn this option off, TbClean acts as if there were no
ANTI-VIR.DAT records available and therefore performs heuristic cleaning.
The "Use Heuristics" Option
If you turn this option off, TbClean does not try to apply heuristic
cleaning, even when there are no ANTI-VIR.DAT records available.
The "Expanded Memory" Option
If you select this option, TbClean detects the presence of expanded
memory and uses it in heuristic mode. You might want to disable EMS usage
if it is too slow or if your expanded memory manager is not very stable.
The "Show Program Loops" Option
By default TbClean keeps track of looping conditions to prevent
repetitive data from appearing on your screen thousands of times. If you
select this option, TbClean "works out" every loop.
CAUTION:
Using this option drastically reduces TbClean's performance speed.
Also, do not combine this option with the "Make list file" option,
because the list file might grow too big
The "Make List File" Option
Selecting this option instructs TbClean to generate an output file with a
chronological disassembly of the virus being removed.
Maximizing TbClean
Now that you know how to use TbClean's menus, you can more easily
understand the power of using it from the command line.
3.6.3 Using TbClean Command Line Options
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 102
When you run TbClean from the DOS command line, it recognizes command
line options (often called "switches" in DOS terms). These options appear
as "key-words" or "key-letters." The words are easier to memorize, so we
will use these in this manual for convenience.
You can maximize TbClean's performance by using its command line options.
The following table lists these options:
option parameter short explanation
------------------ ----- ----------------------------------
help he display on-line help
pause pa enable pause prompt
mono mo force monochrome display output
noav na do not use ANTI-VIR.DAT records
noheur nh do not use heuristic cleaning
noems ne do not use expanded memory
showloop sl show every loop iteration (slow!)
list[=<filename>] li create list file
The explanations in the above table serve as a quick reference, but the
following descriptions provide more information about each option.
TIP:
Remember that you can display these options from the command line by
entering TBCLEAN ?.
help (he).
Specifying this option displays the above options list.
pause (pa).
This option instructs TbClean to stop disassembling information
after each full screen, enabling you to examine the results. The
PAUSE option is available for registered users only.
mono (mo).
This option enhances the screen output on some LCD screens or
color-emulating monochrome systems.
noav (na).
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 103
If you specify this option, TbClean acts as if there were no
ANTI-VIR.DAT records available and therefore performs heuristic
cleaning.
noheur (nh).
If you specify this option, TbClean does not try to apply heuristic
cleaning, even when there are no ANTI-VIR.DAT records available.
noems (ne).
If you specify this option, TbClean does not detect the presence of
expanded memory and use it in heuristic mode. You might want to
disable EMS use if it is too slow, or if your expanded memory
manager is not very stable.
showloop (sl).
By default TbClean keeps track of looping conditions to prevent
repetitive data from appearing on your screen thousands of times. If
you select this option, TbClean "works out" every loop.
CAUTION:
Using this option drastically reduces TbClean's performance
speed. Also, do not combine this option with the "Make list
file" option, because the list file might grow too big
list [=<filename>] (li).
This option instructs TbClean to generate an output file with a
chronological disassembly of the virus being removed. The LIST
option is available for registered users only.
Here are two examples of using TbClean from the command line:
1. This command:
TBCLEAN VIRUS.EXE
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 104
instructs TbClean to make a backup of the file VIRUS.EXE using the
name filename VIRUS.VIR, and then disinfect VIRUS.EXE.
2. This command:
TBCLEAN VIRUS.EXE TEST.EXE
instructs TbClean to copy the file called VIRUS.EXE to the new
filename TEST.EXE and then disinfect TEST.EXE.
3.6.4 Understanding the Cleaning Process
TbClean's cleaning process is extremely important. To better illustrate
it, let's look at a sample file cleaning.
Assume you want to clean a file called COMMAND.COM, which resides in the
TMP directory on drive G. To do so, you would follow these steps:
1. Select the "Start cleaning" option on the TBAV menu. The following
window appears:
+-------------------------------------------------------------------+
| |
|Enter name of program to clean. TbClean will create a backup first!|
| |
| |
+-------------------------------------------------------------------+
The ThunderBYTE utility cleans on a file-by-file approach; that is, it
cleans one file, verifies the result, and continues on to the next file.
This helps you keep track of which file is clean, which file is damaged
and should be restored from a backup, and which file is still infected.
2. Specify the name of the file. In this case, you would type
G:\TMP\COMMAND.COM and press ENTER. The following window appears:
+-------------------------------------------------------------------+
| |
| Enter name of cleaned file. Keep blank if infected program may be | |
changed. |
| |
| |
+-------------------------------------------------------------------+
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 105
3. Type a new file name and press ENTER. In this case, we'll use
G:\TMP\TEST.EXE. TbClean now begins the cleaning process.
By specifying a different name you ensure that the cleaned file cannot
overwrite the original file. In this example TbClean copies COMMAND.COM
to TEST.COM and disinfects TEST.COM.
If you do not specify a backup filename, TbClean creates a backup with
the .VIR extension. In this example, the TbClean would copy the original
file to COMMAND.VIR and then clean COMMAND.COM.
During the cleaning process, TbClean displays as much information as
possible about the current operation, as illustrated below. All the major
actions appear in the emulation window at the lower half of the screen,
which displays a disassembly and the register contents of the program
under scrutiny, as well as a progress report. The top-left and top-right
status windows reveal useful details of the infected file and (if TbClean
can find a suitable ANTI-VIR.DAT file) the file's original status. You
can abort the cleaning process by pressing Ctrl+Break.
+-----------------------------------------------------------------+
| Thunderbyte clean utility (C) 1992-95 Thunderbyte B.V. |
+---------Infected state----------++---------Original state-------+
| Entry point (CS:IP) 34BF:0012 || Entry point (CS:IP) 34BF:0012|
| File length || File length UNKNOWN! |
| Cryptographic CRC 9F90F52A || Cryptographic CRC UNKNOWN! |
+---------------------------------++------------------------------+
| |
| Starting clean attempt. Analyzing infected file... |
| Anti-Vir not found: original state unknown. Trying emulation... |
| Emulation terminated: |
| |
| G:\VIRUS\COMMAND.COM |
| CS:IP Instruction AX BX CX DX DS SI ES DI SS SP |
| 9330:0101 mov ah,40 FFFE9330FFFFEFFFD382FFEDEFFEFFFF9520007E|
| 9330:0103 mov bx,0002 40FE9330FFFFEFFFD382FFEDEFFEFFFF9520007E|
| 9330:0106 mov cx,0016 40FE0002FFFFEFFFD382FFEDEFFEFFFF9520007E|
| 9330:0109 mov dx,cs 40FE00020016EFFFD382FFEDEFFEFFFF9520007E|
| 9330:010B mov ds,dx 40FE000200169330D382FFEDEFFEFFFF9520007E|
| 9330:010D mov dx,0117 40FE0002001693309330FFEDEFFEFFFF9520007E|
| 9330:0110 int 21 40FE0002001601179330FFEDEFFEFFFF9520007E|
| 9330:0112 mov ax,4CFF 40FE0002001601179330FFEDEFFEFFFF9520007E|
| 9330:0115 int 21 4CFF0002001601179330FFEDEFFEFFFF9520007E|
| 9330:0115 <End of emulation> |
+-----------------------------------------------------------------+
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 106
A successful purge is not the end of the story! Your job is only
partially complete. Some viruses damage data files. They could randomly
change bytes on your disks, swap sectors, or perform other nasty tricks.
A cleaning utility can never repair data!
4. Check your data files thoroughly and consult a virus expert to find
out what the virus is capable of doing. If there is any doubt, restoring
the data is definitely the most reliable option.
WARNING:
Under no circumstances should you continue to use cleaned software!
Cleaning is a temporary solution that simply enables you to delay a
large restore operation until a more practical time. You should
never rely on a cleaned program for any length of time. This is not
a criticism of anti-viral cleaning agents. If your data is valuable
to you, you should care for it as much as possible, and sticking to
original software is simply an elementary precaution. In other
words, restore the original programs as soon as possible!
3.6.5 Understanding Cleaning Limitations
Although TbClean has a very high success rate and is able to clean
programs that other cleaners refuse to process, it simply cannot remove
all viruses and cannot clean every file. Examples of computer viruses
that TbClean (or other virus cleaners) cannot clean include:
Overwriting viruses. This type of virus does not add itself to the
end of the original program, rather it copies itself over the
original file. Further, it does not attempt to start the original
program but simply hangs the machine or returns you to DOS after it
activates. Since it overwrites the original file, no cleaner can
restore the file.
Some encrypted viruses. TbClean is usually able to decrypt the
virus. However, some viruses use anti-debugger features that TbClean
cannot yet cope with (but we re working on it!).
The construction of some program files makes them impossible to
clean, making reinstallation the only option. Some of these file
types include:
EXE-programs with internal overlays. TbScan marks these files
with an "i" flag. Any infection is sure to cause major damage
to these files. Some viruses recognize such programs and do not
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 107
infect them, but most viruses infect these programs anyway and
corrupt them. No cleaner can repair this kind of damage.
Programs with sanity check routines. Some programs (mostly
anti-virus software or copy-protected programs) perform their
own kind of sanity check. Heuristic cleaning of an infected
program normally results in a program that is not physically
identical to the original. So, although TbClean removes the
virus from the program and the program is functionally
identical to the original, the program's internal sanity check
usually detects the slight changes and aborts the program.
Cleaning Multiple Files
TbClean has no provisions for cleaning multiple programs in one run.
There are two reasons for this omission:
1. TbClean cannot search for viruses automatically since it does not
know any virus.
2. We recommend that you clean the system on a file-by-file basis.
Clean one file, verify the result, and go on to the next file.
Again, this helps you keep track of which files are clean, which
files are damaged and should be restored from a backup, and which
files are still infected.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 108
3.7 Using TbMem
TBAV provides three extra utilities that help you build a massive
security wall around your computer system. This set includes: TbMem,
TbFile and TbDisk. In this section, we'll introduce these three utilities
collectively as a set and then examine each individual utility.
3.7.1 Introducing the TbMem, TbFile & TbDisk Utilities
As the old saying goes, An ounce of prevention is worth a pound of cure,
and the computer virus threat gives this old saying new meaning. TBAV is
the best product on the market for removing viruses, but if this is all
it did, it would be of little use. It's much wiser to prevent virus
infection than wait until you get one and remove it.
This is where a set of three small memory-resident (TSR) programs come
in. These utilities are shipped with TBAV for DOS; they monitor specific
areas of your system and protect against virus infection. These three
utilities are:
TbMem.
This program detects attempts by programs to remain resident in
memory and ensures that no program can remain resident in memory
without permission.
TbFile.
This program detects attempts by programs to infect other programs.
TbDisk.
This program detects attempts by programs to write directly to the
disk (bypassing DOS), attempts to format disks, and other such
destructive actions.
3.7.2 Loading TbMem, TbFile and TbDisk
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 109
The TbMem, TbFile and TbDisk programs load in the same way. The following
sections contain specific information on each of the programs, but here
we present loading information that is common to all of them.
CAUTION:
You must load TbDriver before you can load any of the TbMem, TbFile
or TbDisk utilities. These utilities will refuse to load without it.
There are three possible ways to load TbMem, TbFile or TbDisk. Please
note that we call the programs TbXXX here. Naturally, you will replace
the XXX with either Mem, File, or Disk when you load each utility.
1. From the DOS prompt or within the AUTOEXEC.BAT file:
<PATH>TBXXX
2. From the CONFIG.SYS file as a TSR (DOS 4 or higher):
INSTALL=<PATH>TBXXX.EXE
The INSTALL= CONFIG.SYS command is NOT available in DOS 3.xx.
3. From the CONFIG.SYS as a device driver:
DEVICE=<PATH>TBXXX.EXE
NOTE:
Executing one of the utilities TbMem, TbFile or TbDisk as a device
driver does not work in all OEM versions of DOS. If it doesn't work,
use the INSTALL= command or load the desired program from within the
AUTOEXEC.BAT. TbMem, TbFile and TbDisk should always work correctly
after being started from within the AUTOEXEC.BAT file. Also, unlike
other anti-virus products, you can load the ThunderBYTE Anti-Virus
utilities before starting a network without losing the protection
after the network starts.
In addition to the three loading possibilities, if you are using DOS
version 5 or above, you can load the TbMem, TbFile or TbDisk programs in
an available UMB (upper memory block) from AUTOEXEC.BAT using the
following command:
LOADHIGH <PATH>TBXXX.EXE
You can load TbMem, TbFile or TbDisk high from within the CONFIG.SYS
using the following command:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 110
DEVICEHIGH=<PATH>TBXXX.EXE
If you are using Microsoft Windows, you should load the resident TBAV
programs BEFORE starting Windows. When you do this, there is only one
copy of the program in memory regardless of how many DOS windows you
might open. Every DOS window (that is, every virtual machine ) has a
fully functional copy of the program running in it.
Each of the programs automatically detects if Windows is running, and
switches itself into multitasking mode if necessary. You can even disable
each of the programs in one window without affecting the functionality in
another window.
3.7.3 Using Command Line Options
You can load all the TbMem, TbFile or TbDisk utilities using several
command line options. See the description of each individual utility for
further information.
3.7.4 Understanding TbMem
Once they execute, most viruses remain resident in memory. While resident
in memory, they might have many opportunities to infect other files in
the background, interfere with the system operation, hide themselves from
virus scanners or checksumming programs, and/or perform other nasty
tasks.
On the other hand, because so many viruses remain resident in memory,
most of them are easy to detect by monitoring the process of becoming
memory resident.
TbMem monitors the system and ensures that no program can remain resident
in memory without permission. This brings to your attention any software
that attempts to remain resident, thereby reducing the likelihood of a
virus going unnoticed.
TbMem also protects CMOS (a small area of memory that stores vital
information concerning your computer).
NOTE:
What exactly is a memory-resident program? Most programs run by
executing a command at the DOS command line, perform some task, and
then terminate, placing you back where you started. Some programs,
however, continue to operate after you terminate them. These
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 111
programs load themselves into memory, remain resident in memory, and
perform some task in the background. Programs in this category
include: disk caches, print spoolers and network software. These
programs are often referred to as TSR (Terminate and Stay Resident)
programs.
Like a TSR program, most viruses also remain resident in memory, and it
is for this reason that TbMem should be usedto control the process of
becoming resident in memory.
If a program attempts to become resident, TbMem offers you the option to
abort the attempt. It does this by guarding the DOS TSR function calls
while also monitoring important interrupts and memory structures. TbMem
uses the ANTI-VIR.DAT records to determine whether it will allow a
specific program to remain resident in memory.
TbSetup recognizes many common TSRs. If it doesn't recognize a TSR,
however, TbMem asks your permission for the TSR to load. It then
maintains permission information in the ANTI-VIR.DAT files to prevent
TbMem from bothering you when an approved TSR is loading.
TbMem also checks the contents of the CMOS configuration memory after
each program termination to ensure that programs have not changed. TbMem
offers you the option of restoring the CMOS configuration when it
changes. Once you teach TbMem which programs are TSRs and which are not
on a PC, you can use TbSetup to set the permission flag of these files on
other machines.
TbMem also installs a hot key that you can use to escape from nearly all
programs.
TbMem is fully network compatible. It does not require you to reload the
checker after logging onto a network.
3.7.5 Working with TbMem
Since TbMem is a memory resident program, you can execute and configure
it from the command line or from within a batch file. It is more
efficient, however, to load TbMem at boot up from either CONFIG.SYS or
AUTOEXEC.BAT. See the "Introducing the TbMem, TbFile and TbDisk
Utilities" section earlier in this chapter for details.
CAUTION:
You must load TbDriver before you can load TbMem. TbMem will refuse
to load without it.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 112
3.7.6 Maximizing TbMem
You can maximize the performance of TbMem by using its command line
options. The first four options in the table below are always available.
The other options are available only if TbMem is not yet memory resident.
option parameter short explanation
------------------ ----- ----------------------------------------
help ? display on-line help
remove r remove TbMem from memory
on e enable checking
off d disable checking
secure s do not execute unauthorized TSRs
hotkey<=keycode> k specify keyboard scancode for the program
cancel hotkey
nocancel n do not install the cancel hotkey
nocmos m do not protect CMOS memory
The explanations in the above table serve as a quick reference, but the
follow descriptions provide more information about each option.
TIP:
Remember that you can display these options from the command line by
entering TBMEM ?.
help (?).
Specifying this option displays the brief help as shown above.
remove (r).
This option disables TbMem and attempts to remove the resident part
of its code from memory and return this memory space to the system.
Unfortunately, this works only if you loaded TbMem last. An attempt
to remove a TSR after you load another TSR leaves a useless gap in
memory and could disrupt the interrupt chain. TbMem checks whether
it is safe to remove its resident code; if not, it simply disables
itself.
on (e).
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 113
This option reactivates TbMem after you disable it using the OFF
option.
off (d).
Specifying this option disables TbMem but leaves it in memory.
secure (s).
TbMem normally asks the user to continue or to cancel when a program
tries to remain resident in memory. In some business environments,
however, employees should not make this choice. If you use this
option, it is no longer possible to execute new or unknown resident
software. It is also no longer possible to use the REMOVE or OFF
options.
hotkey (k).
TbMem offers you a reliable way to escape from any program by
pressing a special key combination. You can not only use this
feature to escape from programs that "hang," but also from software
that seems to be malicious (although we recommend powering down and
rebooting from a write-protected system disk). Instead of the
default combination (Ctrl+Alt+Insert), you can specify another
keyboard combination using the HOTKEY=<KEYCODE> option. You must
specify the scancode using a 4-digit hexadecimal number; the first
two digits specify the shift-key mask, and the last two digits
specify the keyboard scancode. Consult your PC manual for a list of
"scan codes." For example, the default scan code is 0C52, but you
can change this to another code, such as 0C01, the code for
Ctrl+Alt+Esc.
nocancel (n).
TbMem normally installs the program cancel hot key
(Ctrl+Alt+Insert). If you do not want to use the program cancel hot
key, specify this option, since this saves a few bytes of memory.
nocmos (m).
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 114
TbMem normally protects the CMOS memory if available. If you do not
want TbMem to do this, you can specify this option.
The following command loads TbMem as a device driver in the CONFIG.SYS,
configures the "program cancel hot key" as Ctrl+Alt+Esc, and cancels
protection of CMOS memory:
DEVICE=C:\TBAV\TBMEM.EXE HOTKEY=0C01 NOCMOS
To achieve the same functionality, you could execute TbMem from the DOS
command line rather then specifying the TbMem command line in the
CONFIG.SYS by entering the following command at the DOS command line:
C:\TBAV\TBMEM.EXE HOTKEY=0C01 NOCMOS
3.7.7 Understanding TbMem's Operation
If TbMem detects that a program tries to remain resident in memory, it
displays a pop-up window displaying a message to that effect. You can
either choose to continue, or to abort the program's loading. If you
answer "NO" to the question "Remove program from memory?" the program
continues undisturbed, and TbMem places a mark in the ANTI-VIR.DAT file
about this program. Next time you invoke the same resident program, TbMem
will not disturb you again.
There are many programs that normally remain resident in memory, such as:
disk caches, print spoolers, and others. How, then, does TbMem
distinguish between these programs and viruses?
TbMem uses the ANTI-VIR.DAT records generated by TbSetup to keep track of
which files are normal TSRs and which are not. It marks most common
resident software as being common so you don't have to worry about these
files.
If TbMem pops up with the message that a program tries to remain resident
in memory, you have to consider the purpose of the program mentioned. For
example, is the program supposed to continue to operate in the
background? The answer is obviously yes if the program is a disk cache,
print spooler, pop-up utility or system extension software.
If, on the other hand, the message appears after you have exited your
word processor, database, spreadsheet application, something is
definitely wrong! You ought to terminate the program immediately and use
a virus scanner to check the system. The same applies when software that
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 115
operates normally without staying resident in memory suddenly changes its
behavior and tries to remain resident in memory.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 116
3.8 Using TbFile
This section concerns another resident TBAV utility, TbFile, which checks
programs for virus infections as they begin to load.
3.8.1 Understanding TbFile
The two most dangerous virus categories are the boot sector and the file
variants. File viruses all have a common purpose, namely, to infect
programs. Infecting a program involves very unusual file manipulations
that are quite dissimilar to normal file handling procedures, so in order
to detect viral activity it is essential to keep an eye out for program
file changes involving peculiar actions.
TbFile monitors the system and detects attempts by programs to infect
other programs. Unlike other file guards, TbFile monitors the system only
for virus specific file modifications. TbFile doesn't generate an alarm
when a program modifies itself for configuration purposes, nor does it
bother you when you update a program or create one yourself. On an
average system, configurations should never cause a false alarm. TbFile
has a very sophisticated infection detector and will not give a false
alarm when you perform standard file operations. In normal configurations
you will never get a false alarm!
TbFile not only detects attempts to infect programs, it also offers you
the option of aborting the infection process and continuing a program's
execution.
TbFile also detects other suspicious activities, including setting the
seconds value of time stamps to an illegal value.
TIP:
As many users know, you can protect files against unwanted
modifications by means of the read-only attribute. Without TbFile,
however, someone can easily circumvent this standard DOS protection.
TbFile detects any attempts to sabotage the read-only attribute.
This gives you added security by enabling you to use this
uncomplicated method to fully protect your files against
destruction and infection.
TbFile is fully network compatible. It does not require you to reload the
checker after logging onto a network. In contrast, other resident
anti-virus utilities force you to choose between protection BEFORE you
start the network, or protection AFTER you start network, but not both.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 117
3.8.2 Working with TbFile
Since TbFile is a memory resident program, you can execute and configure
it from the command line or from within a batch file. It is more
efficient, however, to load TbFile at boot up from either CONFIG.SYS or
AUTOEXEC.BAT. See the "Introducing the TbMem, TbFile and TbDisk
Utilities" section earlier in this chapter for details.
CAUTION:
You must load TbDriver before you can load TbFile. TbFile will
refuse to load without it.
3.8.3 Maximizing TbFile
You can maximize the performance of TbFile by using its command line
options. The first four options in the table below are always available.
The other options are available only if TbFile is not yet memory
resident.
option parameter short explanation
------------------ ----- ------------------------------
help ? display on-line help
remove r remove TbFile from memory
on e enable checking
off d disable checking
secure s all permissions denied
allattrib a readonly check on all files
compat c allow CPM-style file I/O calls
The explanations in the above table serve as a quick reference, but the
following descriptions provide more information about each option.
TIP:
Remember that you can display these options from the command line by
entering TBFILE ?.
help (?).
Specifying this option displays the brief help shown above.
remove (r).
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 118
This option disables TbFile and attempts to remove the resident part
of its code from memory and return this memory space to the system.
Unfortunately, this works only if you loaded TbFile last. An attempt
to remove a TSR after you load another TSR leaves a useless gap in
memory and could disrupt the interrupt chain. TbFile checks whether
it is safe to remove its resident code; if not, it simply disables
itself.
on (e).
This option reactivates TbFile after you disabled it using the OFF
option.
off (d).
Specifying this options disable TbFile, but leaves it in memory.
secure (s).
TbFile normally asks you to continue or to cancel when a program
tries to perform a suspicious operation. In some business
environments, however, employees should not make this decision. If
you use the SECURE option, it is no longer possible to allow
suspicious operations. It is also no longer possible to use the OFF
and REMOVE options.
allattrib (a).
TbFile normally protects only the read-only attribute of executable
files (program files with the extension COM and EXE). If you want to
have the read-only check on all files, add this option. In this case
you always get an alarm when something attempts to remove the
read-only attribute of any file.
compat (c).
DOS still contains some CPM (an earlier operating system) internal
functions, even though DOS programs no longer use these functions.
Some viruses, however, use these functions to bypass anti-virus
software. TbFile closes these backdoors by default, but you can
prevent this by specifying this option.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 119
The following command loads as a device driver in CONFIG.SYS and it
guards the read-only attribute of all files:
DEVICE=C:\TBAV\TBFILE.EXE ALLATTRIB
To achieve the same functionality, you could execute TbFile from the DOS
command line rather then specifying the TbFile command line in the
CONFIG.SYS by entering the following command at the command line:
C:\TBAV\TBFILE.EXE ALLDRIVES
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 120
3.9 Using TbDisk
This section deals with TbDisk, which prevents viruses from damaging data
on your hard disk.
3.9.1 Understanding TbDisk
Many viruses try to damage the data on disk. They accomplish this by
various actions, such as, formatting the disk, overwriting the FAT, and
swapping disk sectors, among others. Almost anything is possible!
Another category of malicious software, known as boot sector virus
droppers, install a boot sector virus on the disk. The program itself is
not a virus, so detection with virus scanners and other anti-viral
software is very difficult. The only way to detect such a program is by
monitoring its behavior.
The main problem in all this lies in the way these programs manage to
avoid the usual DOS procedures: they go directly to the BIOS (Basic
Input/Output System). This is the reason you need TbDisk, to monitor the
system and to ensure that no program can write directly to disk without
permission. TbDisk draws attention to any software that attempts to write
directly to disk, thereby reducing the likelihood of a virus remaining
unnoticed. TbDisk prevents viruses from damaging data on your disk and
stops boot sector virus droppers in their tracks.
TbDisk not only informs you when a program tries to write directly to the
disk, it also offers you the option to abort the program before it can
cause any damage.
TbDisk is able to detect stealth techniques, that is, attempts to
single step through the BIOS software, and even monitors the use of
undocumented calls that could cause disk damage. For example, TbDisk is
able to distinguish whether DOS or an application makes direct write
attempts via Int 13h (a system call implemented in the BIOS of your
computer). Direct writes are perfectly legal for DOS, but unusual for
application software.
TbDisk does require a little maintenance. TbDisk uses the ANTI-VIR.DAT
records to determine if it should allow a program (including popular disk
utilities, which TbSetup recognizes) to write directly to the disk. In
the absence of an ANTI-VIR.DAT record, TbDisk asks your permission first
and, if granted it, updates the record accordingly to avoid repeated
warnings about the same program.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 121
TbDisk is fully network compatible. It does not require you to reload the
program after logging onto a network. Other resident anti-virus utilities
force you to choose between either protection BEFORE the network is
started, or protection AFTER it starts, but not both..
TIP:
TbDisk also comes in handy if you ever need to write protect a hard
disk. This bonus feature often helps when testing new software.
3.9.2 Working with TbDisk
Since TbDisk is a memory resident program, you can execute and configure
it from the command line or from within a batch file. It is more
efficient, however, to load TbFile at boot up from either CONFIG.SYS or
AUTOEXEC.BAT. See the "Introducing the TbMem, TbFile and TbDisk
Utilities" section earlier in this chapter for details.
CAUTION:
You must load TbDriver before you can load TbDisk. TbDisk will
refuse to load without it.
In addition to all this, there are several special considerations in
using TbDisk.
Loading TbDisk
Improper installation of TbDisk can cause excessive false alarms! If you
want to install TbDisk in your CONFIG.SYS or AUTOEXEC.BAT file, we
recommend that you use the INSTALL option of TbDisk first. If the system
continues to behave normally and TbDisk does not give false alarms when
you copy files on your hard disk, TbDisk is installed correctly and you
can remove the INSTALL option from the command.
WARNING:
Failure to use the Install option when you install TbDisk in
CONFIG.SYS or AUTOEXEC.BAT file might cause loss of data! Please
read on.
While the INSTALL option instructs TbDisk to allow all disk accesses, it
also displays a message as it would do in normal mode. If no false alarms
occur when you copy files on your hard disk, TbDisk is installed
correctly and you can remove the INSTALL option.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 122
If TbDisk causes false alarms, load TbDisk further ahead in your
CONFIG.SYS or AUTOEXEC.BAT file until it works as it should.
CAUTION:
Unlike the other TBAV utilities, we recommend that you load TbDisk
after other resident software! Failure to do so can cause false
alarms!
TbDisk detects if Windows is running and automatically switches into
multitasking mode if necessary. You can even disable TbDisk in one window
without affecting the functionality in another. If you are using Windows
fast 32-bit disk access, you might need to use TbDisk's WIN32 option if
Windows displays an error-message.
3.9.3 Maximizing TbDisk
You can maximize TbDisk's performance by using its command
line options. The first four options are always available.
The other options are available only if TbDisk is not yet
memory resident.
option parameter short explanation
------------------ ----- -----------------------------------
help ? display on-line help
remove r remove TbDisk from memory
on e enable checking
off d disable checking
wrprot p makes hard disk write protected
nowrprot n allow writes to hard disk
win32 w allow Windows 32-bit disk access
secure s deny access without asking first
notunnel t do not detect tunneling
nostealth a do not detect stealth disk access
install i installation test mode
The explanations in the above table serve as a quick reference, but the
following descriptions provide more information about each option.
TIP:
Remember that you can display these options from the command line by
entering TBDISK ?.
help (?).
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 123
Specifying this option displays the brief help as shown above. After
loading TbDisk into memory, not all options appear.
remove (r).
This option disables TbDisk and attempts to remove the resident part
of its code from memory and return this memory space to the system.
Unfortunately, this works only if you loaded TbDisk last. An attempt
to remove a TSR after you load another TSR leaves a useless gap in
memory and could disrupt the interrupt chain. TbDisk checks whether
it is safe to remove its resident code; if not, it simply disables
itself.
on (e).
This option activates TbDisk after you disabled it using the OFF
option.
off (d).
Specifying this option disables TbDisk but leaves it in memory.
wrprot (p).
Hard disks are more difficult to protect against writing than
floppies, which adds considerable risk when doing such things as
testing new software. Sometimes you might want to find out what this
software does to your hard disk and how this could possibly affect
your valuable data. Using the "WRPROT" option makes this safer to
do. Whenever a program wishes to write to a protected disk, you will
see a message such as:
Write protect error writing drive C: A)bort, R)etry, I)gnore?
You can then take the appropriate action.
CAUTION:
Software write protection is not absolutely reliable. Some
viruses can bypass this protection, but fortunately they are
few and far between. Despite its shortcomings, this option can
be a valuable shield against most malicious software.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 124
nowrprot (n).
Use this option to undo the WRPROT option.
win32 (w).
Windows 386 Enhanced Mode uses some undocumented DOS calls to
retrieve the original BIOS disk handler when you enable 32-bit disk
access. Since TbDisk guards these calls, 32-bit disk access will no
longer be possible, unless you specify the WIN32 option when you
initialize TbDisk.
CAUTION:
Use this option only in Windows 386 Enhanced Mode with fast
32-bit disk access enabled as it reduces anti-viral security to
some extent.
secure (s).
TbDisk normally asks whether the user wants to continue or cancel
when a program tries to perform direct disk access. In some business
environments, however, employees should not make this decision. This
option disables direct disk access permission to new or unknown
software. It also disables the OFF and REMOVE options.
notunnel (t).
"Tunneling" is a technique viruses apply to determine the location
of the DOS system code in memory, and to use that address to
communicate with DOS directly. This inactivates all TSR programs,
including resident anti-virus software. TbDisk is able to detect
these "tunneling" attempts, and informs you about it. Some other
anti-virus products also rely on tunneling techniques to bypass
resident viruses, thereby causing false alarms. If you are currently
executing other anti-viral products, the NOTUNNEL option disables
TbDisk's tunneling detection.
nostealth (a).
TbDisk tries to detect direct calls into the BIOS. If such an
attempt occurs, TbDisk pops up with a message that something is
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 125
accessing the disk in an unusual way. If this feature causes false
alarms, you can use this option to turn it off.
install (i).
Incorrect installation can result in a large number of false alarms.
You should use this option when installing TbDisk because it reduces
the risk of canceling a valid disk write operation as a result of
false alarms.
3.9.4 Understanding TbDisk's Operation
What is Direct Disk Access? Programs usually access files through the
operating system (DOS). Whenever a program wants to update a file, for
example, it asks DOS to write the data to disk. It is also possible,
however, to write to a disk without using DOS. This is called direct
disk access.
While normal programs do not write to the disk directly, there are some
programs that need to do so, including:
Format utilities. Direct disk access is the only way to format a
disk.
Disk diagnosis utilities (such as the Norton Disk Doctor, and DOS's
CHKDSK command and ScanDisk utility).
Disk optimizers and defragmenters (such as Norton SpeedDisk and
DOS's Defrag utility).
Since many viruses can perform direct disk access, it is essential to
control this. TbDisk can distinguish between legitimate programs and a
virus with the help of the ANTI-VIR.DAT records, which you can generate
using TbSetup.
Whenever TbDisk pops up a message that says a program accesses to the
disk directly, consider its purpose carefully. While it is perfectly
acceptable for a format utility or a disk optimizer to format or edit
disk sectors, this is not acceptable for a word processor or database.
When TbDisk warns you that a spreadsheet or some other normal program
is about to format a sector, you can be sure that something is wrong.
Terminate the program pronto! Then check things out with a virus scanner
before the worst happens.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 126
3.10 Using TbUtil
This section describes TbUtil, which is designed primarily to make a
precautionary backup of clean partition tables and boot sectors.
3.10.1 Understanding and using TbUtil
TbUtil provides a defense against partition table and boot sector
viruses. TbUtil can be used to:
Copy the partition table, boot sector and CMOS data area into a
file. You can use TbUtil on a regular basis to compare both the
current and the original versions of the partition table, boot
sector and CMOS data area. After an accident virus, (virus or
otherwise), you can restore the copy using the TbUtil program.
Remove a partition table virus without having to low-level format
the hard disk, even if there is no backup of the partition table.
Remove boot sector viruses and creates a partition table that has
some first-line virus defenses built-in.
Replace the infected or clean boot sector with a safe TBAV boot
sector.
NOTE:
What is a partition table? A physical hard disk might consist of
more than one "partition" (or division). Each partition is a logical
disk drive and has it own ID, such as C:, D:, and E:. The partition
table, then, contains the disk lay-out and the starting and ending
cylinder of every partition. The partition table also contains
information about the operating system of a partition and which
partition should be used to boot. The partition table (also called
the Master Boot Record, or MBR) always resides at the very first
sector of the hard disk.
Unlike most file viruses, partition table viruses are hard to remove. The
only solution is to low-level format the hard disk and to make a new
partition table, or to make use of scantily documented DOS commands.
TbUtil, however, makes a backup of the partition table and boot sector
and uses this backup to compare and restore both the original partition
table and boot sector once they become infected. You no longer have to
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 127
format your disk to get rid of a partition table or boot sector virus.
The program can also restore the CMOS configuration.
Optionally, TbUtil replaces the partition table code with an immunized
partition table containing facilities against viruses. The TbUtil
partition code executes before the boot sector gains control, so it is
able to check the boot sector in a clean environment. Once the boot
sector executes, it is difficult to check it because the virus is already
resident in memory and can deceive a protection scheme. Instead of
booting from a clean DOS diskette just to inspect the boot sector, the
TbUtil partition code performs a CRC calculation on the boot sector just
before passing control to it.
If TbUtil detects a change in the boot sector, the TbUtil partition code
warns you about it. The TbUtil partition code also checks the RAM layout
and informs you when it changes. TbUtil does all of this every time you
boot from your hard disk.
TbUtil can replace infected and clean diskette boot sectors with a new
and specialized boot sector, which has several advantages over the
standard boot sector:
It has boot sector virus detection capabilities.
It performs a sanity check.
It offers you the possibility to redirect the boot process to the
hard disk without opening the diskette drive door.
3.10.2 Working with the TbUtil Menu
The TbUtil module contains several programs, which you can execute from
either the TbUtil Menu or, in case of an emergency, from a TbUtil recove-
ry diskette using the DOS command line. The menu, however, offers some
additional menu options. Selecting the "TbUtil" option from the TBAV Main
Menu displays the following menu:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 128
+------Main menu------+
| Confi+-----------TbUtil menu-----------+
| TbSet| System maintenance menu >|
| TbSca| Immunize/clean bootsector A: |
| TbUti| Immunize/clean bootsector B: |
| TbCLe| Immunize/clean partition code |
| Virus+---------------------------------+
| TBAV Monitor >|
| Documentation >|
| Register TBAV |
| About |
| Quit and save |
| eXit (no save) |
+---------------------+
We'll now explore these menu options.
The "System Maintenance Menu" Option
Selecting the "System maintenance menu" option displays the System
Maintenance menu:
+------Main menu------+
| Confi+-----------TbUtil menu-----------+
| TbSet| Syste+-------System maintenance-------+
| TbSca| Immun| Execute TbUtil |
| TbUti| Immun| Describe this machine |
| TbCLe| Immun| Save system configuration |
| Virus+-------|v Compare system configuration |
| TBAV Monitor | Restore system configuration |
| Documentation|v process CMOS memory |
| Register TBAV|v process Partition code |
| About |v process Bootsector |
| Quit and save+--------------------------------+
| eXit (no save) |
+---------------------+
This menu contains the actual TbUtil program. The program takes care of
saving, restoring or comparing the system configuration of your PC. It
stores the backup system configuration on a diskette in a file with
either a default name or a name you can specify yourself.
WARNING:
You can only restore a system configuration data file on the machine
that created the data file. Restoring a configuration file from one
PC to another makes the PC inaccessible!
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 129
The "System Maintenance Menu" contains the following items:
Execute TbUtil.
Before activating this option, you must select one of the optional
functions: Save, Compare, or Restore the system configuration. Move
to the desired option you want to activate and press ENTER. A check
mark indicates that an option is active.
Describe this machine.
Enter a meaningful description of the machine. Enter something like,
"486DX4 @ 100MHz, 32Mb, 2 Gb SCSI disk, room 12, Mr. Smith." You do
NOT have to remember this description; TbUtil displays it on the
screen when comparing or restoring, which helps you to verify that
the data file belongs to the machine.
Save system configuration.
This option stores the partition table, boot sector and CMOS data
area into the TbUtil data file.
WARNING:
Since the PC is completely inaccessible to DOS if the partition
table becomes damaged, we RECOMMEND that you store both the TbUtil
data file AND the program TBUTIL.EXE itself on a "rescue" diskette!
If the partition table is damaged or destroyed, then the only
solution to the problem may reside on the "rescue"
diskette, since your hard drive may be inaccessible!
When loading TbUtil from the command line you must specify a
filename after the STORE option. In contrast, using the TBAV menu,
you can use the default filename TBUTIL.DAT. If you own more than
one PC, we recommend that you create one TbUtil diskette with all
TbUtil data files of all your PC's on it. Use the extension of the
file for PC identification, as in the following:
A:TBUTIL.<NUMBER>
Compare system configuration.
This option enables you to check on a regular basis that everything
is still okay. If you specify this option, TbUtil compares the
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 130
information in the TbUtil data file against the partition table,
boot sector, and CMOS data areas. It also displays the comment
stored in the data file. Using this option also guarantees that the
TbUtil data file is still readable.
Restore system configuration.
This option enables you to restore the partition table, boot sector,
and CMOS data area. It asks you to confirm that the data file
belongs to the current machine. Finally, it can restore the
partition table, boot sector of the partition to be used to boot,
and the CMOS data area.
Process CMOS memory,
Process Partition code, and
Process Boot sector.
By default, TbUtil restores the partition code, boot sector, and
CMOS if you specify the "Restore system configuration" option. If
you use one of the above options in combination with the "Restore
option," TbUtil restores only the items you specify.
The "Immunize/Clean Boot sector A: [or] B:" Options
You can use these options to clean diskettes infected by a boot sector
virus or to replace the standard boot sector with a boot sector that has
advantages over the original one:
The TBAV boot sector has virus detection capabilities. The TBAV boot
sector checks that it resides on the correct place on the diskette,
and that Int 13h and/or Int 40h still exist in system ROM. This
makes it possible to detect even stealth and boot sector viruses.
The TBAV boot sector can load the system files if they are available
on the disk, but if the DOS system files are not on the disk, the
TBAV boot sector displays a small menu offering you two
possibilities: retry the boot operation with another diskette, or
boot from the hard disk. If you select the latter, you don't have to
open the diskette drive door.
The "Immunize/Clean Partition Code" Option
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 131
This is an extremely powerful option, which you can use to clean an
infected partition table if there is no TbUtil data file. It saves
the original partition code in a file and replaces the existing
partition table code with a new partition routine that contains some
virus detection capabilities. You must execute TbUtil from a floppy
drive or you have to specify the name of the file (the specified
drive should be a diskette drive) to store the original partition
code.
If the original partition table becomes irreparably damaged and
can't be used to build a new one, TbUtil scans the entire disk for
information about the original disk layout. TbUtil also searches for
TbUtil data files on the hard disk.
CAUTION:
While it is a good idea to keep a copy of the data file on the
hard disk, we recommend that you store the data file on a
diskette. Just in case!
If your system configuration changes, that is, you update your DOS
version or change the amount of memory, you need to update the
information stored in the immune partition as well. You can do this
by using this option.
In the unlikely event that the system does not boot properly, you
can restore the original partition table using the TbUtil RESTORE
option (refer to The "System Maintenance Menu Option" section
above) or by using the DOS version 5 or above FDISK /MBR command
(which creates a new partition table).
TIP:
If you have installed two hard drives in your computer, you can
immunize the partition code of the second hard drive by
specifying the physical drive number rather than the drive ID
(i.e., execute the command TbUtil 2: )
If the new partition code works properly, you should make a backup
copy of it on a diskette using the TbUtil STORE option (refer to
The "System Maintenance Menu Option" section above).
3.10.3 Maximizing TbUtil
This section describes how to fully maximize TbUtil in three ways: use
command line option, use the anti-virus partition, use the TbUtil
diskette.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 132
Now that you know how to use TbUtil's menus, you can more easily
understand how to maximize its performance by using its command line
options.
option parameter short explanation
------------------ ----- -------------------------------------
immunize <drive> im Immunize/Clean boot sector or MBR of
<drive>
getboot <drive> gb Save boot sector/MBR into file
store [<filename>] st Store system information
restore [<filename>] re Restore system information
compare [<filename>] co Compare system information
Sub-options of immunize option:
--------------------------------------------------------------
norepeat nr Do not ask for next diskette
nomem nm Do not check for amount of RAM
batch ba Do not prompt to insert a disk
Sub-options of store option:
--------------------------------------------------------------
description=<descr.> de Add description to data file
Sub-options of restore option:
--------------------------------------------------------------
part pt Restore partition table
boot bo Restore boot sector of hard disk
cmos cm Restore CMOS data memory
The explanations in the above table serve as a quick reference, but the
following descriptions provide more information about each option.
Immunize <floppy drive> (im).
You can use this option to clean diskettes infected by a boot sector
virus or to replace the standard boot sector by a boot sector that
has advantages over the original one:
The TBAV boot sector has virus detection capabilities. The boot
sector checks that it still resides on the correct place on the
diskette, and that Int 13h and/or Int 40h still exist in system
ROM. This makes it possible to detect even stealth and boot
sector viruses.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 133
The TBAV boot sector is able to load the system files if they
are available on the disk, but if the DOS system files are not
on the disk, the TBAV boot sector displays a small menu
offering you two possibilities: retry the boot operation with
another diskette, or boot from the hard disk. If you select the
latter, you don't have to open the diskette drive door.
Immunize c: (im c:).
This is an extremely powerful option, which you can use to clean an
infected partition table if there is no TbUtil data file. It saves
the original partition code in a file and replaces the existing
partition table code with a new partition routine that contains some
virus detection capabilities. You have to execute TbUtil from a
floppy drive or you have to specify the name of the file (the
specified drive should be a diskette drive) to store the original
partition code.
TIP:
If you have installed two hard drives in your computer, you can
immunize the partition code of the second hard drive by
specifying the physical drive number rather than the drive ID
(i.e., execute the command TbUtil 2: )
If the original partition table becomes irreparably damaged and
consequently can't be used to build a new one, TbUtil scans the
entire disk for information about the original disk layout. TbUtil
also searches for TbUtil data files on the hard disk.
CAUTION:
While it is a good idea to keep a copy of the data file on the
hard disk, we recommend that you store the data file on a
diskette. Just in case!
If your system configuration changes, that is, you update your DOS
version or change the amount of memory, you need to update the
information stored in the immune partition as well. You can do this
by using this option.
In the unlikely event that the system does not boot properly, you
can restore the original partition table using the TbUtil RESTORE
option (refer to The "System Maintenance Menu Option" section
above) or by using the DOS version 5 or above FDISK /MBR command
(which creates a new partition table).
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 134
getboot <drive> (gb).
With this option you can copy the boot sector of the specified drive
into a file.
store [<filename>] (st).
This option stores the partition table, boot sector and CMOS data
area into the TbUtil data file.
WARNING:
Since the PC is completely inaccessible to DOS if the partition
table becomes damaged, we RECOMMEND that you store both the
TbUtil data file AND the program TBUTIL.EXE itself on a rescue
diskette! If the partition table is damaged or destroyed, then
the only solution to the problem may reside on the "rescue"
diskette, since your hard drive may be inaccessible!
When loading TbUtil from the command line you must specify a
filename after the STORE option. In contrast, using the TBAV menu,
you can use the default filename TBUTIL.DAT. If you own more than
one PC, we recommend that you create one TbUtil diskette with all
TbUtil data files of all your PC's on it. Use the extension of the
file for PC identification, as in the following:
A:TBUTIL.<NUMBER>
restore [<filename>] (re).
This option enables you to restore the partition table, boot sector,
and CMOS data area. It asks you to confirm that the data file
belongs to the current machine. Finally, it restores the partition
table, boot sector of the partition to be used to boot, and the CMOS
data area.
compare [<filename>] (co).
This option enables you to check on a regular basis that everything
is still okay. If you specify this option, TbUtil compares the
information in the TbUtil data file against the partition table,
boot sector, and CMOS data area. It also displays the comments
stored in the data file. Using this option guarantees that the
TbUtil data file is still readable.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 135
norepeat (nr).
By default, TbUtil prompts you for the next diskette after you have
immunized a diskette. This option disables this function.
nomem (nm).
If you specify this option when you are immunizing your partition
code, the partition code skips the RAM check while booting. This is
necessary for some systems that change the memory setup during the
boot process.
batch (ba).
If you specify this option, TbUtil will assume a disk has already
been inserted in your disk drive. This option is particularly useful
with batch files.
description =<descr.> (de).
For <desc.> enter a meaningful description of the machine. Enter
something like, "486DX4 @ 100MHz, 32 Mb, 2 Gb SCSI disk, room 12,
Mr. Smith." You do NOT have to remember this description; TbUtil
displays it on the screen when comparing or restoring, which helps
you to verify that the data file belongs to the machine.
part (pt) ,
boot (bo), and
cmos (cm).
By default, TbUtil restores the partition code, boot sector, and
CMOS if you specify the RESTORE option. If you use one of these
options in combination with the RESTORE option, however, TbUtil
restores only the items you specify.
In the following two examples TbUtil simply store system information
gathered from the partition table and boot sectors of your fixed disk(s)
and the CMOS data area into a file in the current directory called
TBUTIL.DAT.
TBUTIL STORE
TBUTIL ST
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 136
The following example does the same as the previous, except that TbUtil
stores the information on a diskette instead of in the current directory.
TBUTIL STORE A:TBUTIL.DAT
It's a good idea to describe the machine from which you are saving
information about the partition table, boot sectors and CMOS data. You
can use the DESCRIPTION option to add a small, single-line description of
the machine:
TBUTIL STORE A:TBUTIL.DAT DESCRIPTION = "TEST MACHINE"
You can always fall back on the information TbUtil stores if you suspect
an infection by a boot sector virus. Suppose the information gathered
earlier by TbUtil is stored in the file A:\TBUTIL.DAT. To compare the
current system information with the information stored in the TbUtil data
file, you could use this command:
TBUTIL COMPARE A:TBUTIL.DAT
Now suppose that TbUtil informs you that the current system information
(that is, the partition table and the CMOS data area) does not match the
information stored earlier. If you did not change the configuration of
your computer, it is most likely that a virus is guilty of the change.
You could restore the old system information using this command:
TBUTIL RESTORE A:TBUTIL.DAT PART CMOS
In case of a boot sector virus infection, we recommend that you disinfect
(clean) all diskettes. Using the following command, TbUtil cleans and
immunizes the boot sector of the diskette in drive A: and then repeats
the action after asking you to insert other (possibly) infected diskettes
into the disk drive:
TBUTIL IMMUNIZE A:
In case of a virus infection you should always make certain that the
Master Boot Record of your fixed disk is not infected. The following
command specifies an extra option, which you must use in case your
computer changes its memory setup during the boot process:
TBUTIL IMMUNIZE C: NOMEM
You can easily view the contents of a TBUTIL.DAT by using the DOS TYPE
command:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 137
TYPE A:TBUTIL.DAT
3.10.4 Using the Anti-Virus Partition
If you install the ThunderBYTE partition code (by using TbUtil's IMMUNIZE
option), you will see the following when booting a clean system:
Thunderbyte anti-virus partition (C)1993-95 Thunderbyte BV.
Checking boot sector CRC -> OK!
Checking available RAM -> OK!
Checking INT 13h -> OK!
In contrast, if there is a virus in the boot sector or partition table,
you will see this message:
Thunderbyte anti-virus partition (C)1993-95 Thunderbyte BV.
Checking boot sector CRC -> OK!
Checking available RAM -> Failed!
System might be infected. Continue? (N/Y)
Other messages that might appear are:
"No system." This message means that there is no active partition on
the disk.
"Disk error." The meaning of this message is obvious.
3.10.5 Using the TbUtil diskette
To use the TbUtil diskette, follow these steps:
1. Take a new diskette and format it as a bootable diskette (by
using the DOS FORMAT /S command).
2. Copy the TbUtil files onto the diskette using this command:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 138
COPY TBUTIL.* A:
The TbUtil files you need are TBUTIL.EXE and TBUTIL.LNG.
3. In case of an emergency (such as a damaged or infected partition
table, for example), boot from the TbUtil diskette.
4. Run the TbUtil program, using the IMMUNIZE option:
A:\TBUTIL IMMUNIZE C:
This cleans the partition table.
5. You should now be able to boot from your hard disk normally.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 139
3.11 Using TbLog
This section describes TbLog, which is designed primarily to create log
files in response to various TBAV alert messages.
3.11.1 Understanding and using TbLog
TbLog is a memory resident TBAV utility that writes a record into a log
file whenever one of the resident TBAV utilities pops up with an alert
message. It also records when a virus is detected.
This utility is primarily for network users. If all workstations have
TbLog installed and configured to maintain the same log file, the
supervisor can easily keep track of what's going on. When a virus enters
the network he is able to determine which machine introduced the virus,
and he can take action in time.
A TbLog record provides three pieces of information:
The time stamp of when the event took place.
The name of the machine on which the event occurred.
An informative message about what happened and which files were
involved.
This information is very comprehensive and takes only one line.
3.11.2 Working with TbLog
Since TbLog is a memory resident program, you can execute and configure
it from the DOS command line or from within a batch file. You should,
however, load TbLog automatically and when the computer boots, preferably
during the execution of AUTOEXEC.BAT, or better yet, CONFIG.SYS.
You should install TbLog on every workstation. If you want to use all
workstations to maintain the same log file, we recommend that you load
TbLog after starting the network.
By default, TbLog maintains a log file with the name TBLOG.LOG in the
TBAV directory. If you want to use another filename or another disk
and/or directory, you can specify a filename (and path) on the TbLog
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 140
command line. In a network environment, we recommend that you put the log
file on a server disk.
CAUTION:
Be sure to load TbDriver before trying to load TbLog. TbLog will
refuse to load without it.
There are three possible ways to load TbLog:
1.From the DOS prompt or within the AUTOEXEC.BAT file:
<PATH>TBLOG
2.From CONFIG.SYS as a TSR (DOS 4 or above):
INSTALL=<PATH>TBLOG.EXE
The INSTALL= CONFIG.SYS command is NOT available in DOS 3.xx.
3.From CONFIG.SYS as a device driver:
DEVICE=<PATH>TBLOG.EXE
NOTE:
Executing TbLog as a device driver does not work in all OEM versions
of DOS. If you encounter problems, use the INSTALL= command or make
sure to load TbLog from the AUTOEXEC.BAT. Also, unlike other
anti-virus products, you can load the ThunderBYTE Anti-Virus
utilities before starting a network without losing the protection
after the network is started.
In addition to the three loading possibilities, if you are using DOS
version 5 or above, you can load TbLog into an available UMB (upper
memory block) from AUTOEXEC.BAT using this command:
LOADHIGH <PATH>TBLOG
You can also load TbLog into high memory from within the CONFIG.SYS using
this command:
DEVICEHIGH=<PATH>TBLOG.EXE
If you are using Microsoft Windows, you should load TbLog BEFORE starting
Windows. When you do this, there is only one copy of TbLog in memory
regardless of how many DOS windows you might open. Every DOS window (that
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 141
is, every virtual machine ) has a fully functional copy of TbLog running
in it.
TbLog automatically detects if Windows is running, and switches itself
into multi-tasking mode if necessary. You can even disable TbLog in one
window without affecting its functionality in another window.
3.11.3 Maximizing TbLog
You can maximize TbLog's performance by using its command line options.
The first five options in the following table are always available. The
other options are available only if TbLog is not yet memory resident.
option parameter short explanation
------------------ ----- ---------------------------------
help ? Display some on-line help
remove r Remove TbLog from memory
on e Enable TbLog
off d Disable TbLog
test t Log test message
machine=<descr.> m Description/name of your machine
secure s Do not allow removal of TbLog
The explanations in the above table serve as a quick reference, but the
following descriptions provide more information about each option.
help (?).
Specifying this option displays the brief help as shown above.
remove (r).
This option disables TbLog and attempts to remove the resident part
of its code from memory and return this memory space back to the
system. Unfortunately, this works only if you loaded TbLog last. An
attempt to remove a TSR after you load another TSR leaves a useless
gap in memory and could disrupt the interrupt chain. TbLog checks
whether it is safe to remove its resident code; if not, it simply
disables itself.
on (e).
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 142
This option reactivates TbLog after you disabled it using the OFF
option.
off (d).
Specifying this option disables TbLog but leaves it in memory.
test (t).
Use this option to record a test message. If you use this option at
the initial loading of TbLog, it records the time and machine name
into the log file. If you use this option after the initial loading,
it simply places a test message into the log file.
machine (m).
Using this option, you can specify the name of the machine on which
TbLog is running. This machine name appears in the log file. By
default, TbLog uses the network machine name on NetBios compatible
machines. On other networks, such as Novell, you must enter the
network name on the TbLog command line.
secure (s).
If you specify this option, it is not possible to use the OFF and
REMOVE options.
The following command loads TbLog, disables, the OFF and REMOVE options,
specifies that the logfile reside in directory F:\SECURITY, and
identifies the machine as DESK3:
C:\TBAV\TBLOG F:\SECURITY\TBLOG.LOG SECURE MACHINE=DESK3
The following CONFIG.SYS command loads TbLog, creates the logfile in
directory X:\LOGS, and specifies that the first line of the log file
contain a date/time stamp and the name of the computer:
DEVICE=C:\TBAV\TBLOG X:\LOGS\TBLOG.LOG MACHINE=JOHN TEST
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 143
3.12 Using TbNet
TBAV for DOS can cooperate with TBAV for Networks, another ThunderBYTE
product, via the program called TbNet. If you do not want to use the
combination of TBAV for DOS and TBAV for Networks, you can skip this
section.
NOTE:
For more information about TBAV for Networks, please refer its
documentation. If you did not purchase TBAV for Networks yet, your
local dealer can inform you about this product.
3.12.1 Understanding TbNet
TbNet is a memory resident TBAV utility that implements the communication
between TBAV for DOS and TBAV for Networks. TBAV for Networks has several
options for controlling remote workstations. For Windows workstations,
TBAV for Windows contains all logic needed to implement the communication
between the workstation and TBAV for Networks. For DOS workstations you
need TbNet for this communication.
3.12.2 Working with TbNet
Since TbNet is a memory resident program, you can execute and configure
it from the DOS command line or from within a batch file. You should,
however, load TbNet automatically when the computer boots, preferably
during the execution of AUTOEXEC.BAT, or better yet, CONFIG.SYS.
You should install TbNet on every workstation.
CAUTION:
Since TbNet uses a public network directory for its communication
with TBAV for Networks, you must load TbNet after starting the
network.
There are three possible ways to load TbNet:
1. From the DOS prompt or within the AUTOEXEC.BAT file:
<PATH>TBNET
2. From CONFIG.SYS as a TSR (DOS 4 or above):
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 144
INSTALL=<PATH>TBNET.EXE
The INSTALL= CONFIG.SYS command is NOT available in DOS 3.xx.
3. From CONFIG.SYS as a device driver:
DEVICE=<PATH>TBNET.EXE
NOTE:
Executing TbNet as a device driver does not work in all OEM
versions of DOS. If it doesn't work, use the INSTALL= command
or load TbNet from AUTOEXEC.BAT. TbNet should always work
correctly if you load it from AUTOEXEC.BAT. Also, unlike other
anti-virus products, you can load the ThunderBYTE Anti-Virus
utilities before starting a network without losing the
protection after the network is started.
In addition to the three loading possibilities, if you are using DOS
version 5 or above, you can load TbNet into an available UMB (upper
memory block) from AUTOEXEC.BAT using this command:
LOADHIGH <PATH>TBNET
You can also load TbNet into high memory from within the CONFIG.SYS using
this command:
DEVICEHIGH=<PATH>TBNET.EXE
We recommend that you do not use TbNet if you use MS-Windows, but use
TBAV for Windows instead. TBAV for Windows has built-in functionality for
communication with TBAV for Networks.
If you do want to use TbNet with MS-Windows for some reason, you should
load TbNet BEFORE starting Windows. When you do this, there is only one
copy of TbNet in memory regardless of how many DOS windows you might
open. Every DOS window (that is, every "virtual machine") has a fully
functional copy of TbNet running in it.
TbNet automatically detects if Windows is running, and switches itself
into multi-tasking mode if necessary. You can even disable TbNet in one
window without affecting the functionality in another window.
3.12.3 Maximizing TbNet
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 145
You can maximize TbNet's performance by using its command line options.
The help and remove options in the following table are always
available. The other options are available only if TbNet is not yet
memory resident.
option parameter short explanation
------------------ ----- --------------------------------------
help ? Display some on-line help
remove r Remove TbNet from memory
netname=<netname> n Netname of the workstation
commdir=<path> c Communication directory used by workstation
frequency=<seconds> f Poll frequency (default is 30 seconds)
buffers=<number> b Number of disk buffers (default is 2)
The explanations in the above table serve as a quick reference, but the
following descriptions provide more information about each option.
help (?).
Specifying this option displays the brief help as shown above.
remove (r).
This option disables TbNet and attempts to remove the resident part
of its code from memory and return this memory space back to the
system. Unfortunately, this works only if you loaded TbNet last. An
attempt to remove a TSR after you load another TSR leaves a useless
gap in memory and could disrupt the interrupt chain. TbNet checks
whether it is safe to remove its resident code; if not, it simply
disables itself
netname (n).
TBAV for Networks distinguishes workstations by their unique
netnames. These netnames are assigned by TBAV for Networks; the
agents software running at the workstations (i.e., TbNet or TBAV for
Windows) receive this netname upon registering the workstation with
TBAV for Networks. You need to specify this netname for correct
behavior of TbNet.
commdir (c).
The communication between TBAV for Networks and the agent software
running at the workstations (i.e., TbNet or TBAV for Windows) takes
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 146
place via a special "communication directory," a directory that is
public to all users. You must specify the path of this directory
when loading TbNet.
frequency (f).
TbNet checks the communication directory every once in a while, to
see if messages originating from TBAV for Networks need to be
processed. You can change the default period of 30 seconds by
specifying the FREQUENCY option.
buffers (b).
TbNet internally needs some buffers to speed up the communication
with TBAV for Networks. The number of these disk buffers used by
TbNet can be changed by using the BUFFERS option.
The following command loads TbNet, for workstation 001AE3, making use of
the communication directory J:\TBAVNW.NET.
C:\TBAV\TBNET NETNAME=001AE3COMMDIR=J:\TBAVNW.NET
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 147
4 Understanding Advanced User Information
This chapter presents some advanced information on using memory, TbSetup,
TbScan, and TbClean. It also introduces you to another TBAV utility,
TbGenSig, signature file compiler. While some of this material is simply
for a better understanding of the utilities and might not be of interest
to you, we recommend that you at least look at the first section on
memory considerations.
4.1 Understanding Memory Considerations
This section presents the memory requirements for each of the TBAV
utilities and how you can reduce the requirements of each utility.
4.1.1 Understanding Memory Requirements
The following table lists the memory requirements for each of the TBAV
utilities:
TBAV Utility Memory Memory
needed consumed
to load after exiting
TbScan * 200 Kb -
TbScanX ** 10 Kb 800 bytes
TbCheck 4 Kb 600 bytes
TbUtil 64 Kb -
TbClean *** 96 Kb -
TbMem 4 Kb 600 bytes
TbFile 5 Kb 1 Kb
TbDisk 4 Kb 800 bytes
TbDriver 5 Kb 3 Kb
TbLog 5 Kb 1 Kb
* If you decide to use a log file, TbScan requires an additional 16
kilobytes of memory for the log file buffer. If TbScan uses its own
built-in file system, it uses additional memory to keep the FAT in
memory. Note that the memory requirements are independent of the number
of signatures. The current memory requirements are adequate to manage at
least 2500 signatures.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 148
** The amount of memory TbScanX requires depends on the number of
signatures. If you enable all features, TbScanX uses 30 kilobytes of
memory when scanning for 1400 family signatures. If you enable swapping,
TbScanX normally uses only one kilobyte of memory. You can swap to EMS
and XMS memory. Naturally you can load the remaining kilobyte of TbScanX
into upper memory.
*** In the heuristic cleaning mode TbClean requires much more memory,
depending on the size of the infected file. TbClean can also use expanded
memory (EMS).
4.1.2 Reducing Memory Requirements
Most PC users try to maintain as much free DOS memory as possible. The
memory resident TBAV utilities (TbScanX, TbCheck, TbMem, TbFile, TbDisk,
TbLog and TbDriver) use only a small amount of DOS memory. To decrease
the memory requirements of these utilities even further, do the
following:
Load the programs from within the CONFIG.SYS file. When loaded as a
device driver, a TBAV utility has no Program Segment Prefix (PSP, a
DOS-internal memory area), which saves 256 bytes for each TBAV
utility.
If you load the TBAV utilities from within the AUTOEXEC.BAT file,
load them before establishing environment variables. DOS maintains a
list of environment variables for every resident program, so keep
this list small while installing TSRs. Once you install all TSRs,
you can then define all environment variables without affecting the
memory requirements of the TSRs.
Make use of memory swapping. If you use the EMS or XMS option,
TbScanX swaps itself to non-DOS memory, leaving only one kilobyte of
code in DOS memory. It is better to swap to expanded memory (EMS
option) because it is faster.
Use high memory if possible. If you have DOS 5 or higher, try to
load the program into an upper memory block using the LOADHIGH or
DEVICEHIGH commands. We recommend that you also enable swapping to
limit the use of upper memory.
Use one of the processor specific versions of the relevant TBAV
utility. They all consume less memory than the generic versions.
Processor optimized versions are available on any ThunderBYTE
support BBS.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 149
Use memory-saving program options. Consider using TbDriver's NOSTACK
option, TbMem's NOCANCEL option, and TbScanX's NOBOOT, EMS and XMS
options.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 150
4.2 Understanding TbSetup
This section presents advanced user information about TbSetup. It
explains the design of ANTI-VIR data files, editing the TBSETUP.DAT file,
and how to easily install TBAV on several machines.
4.2.1 Understanding ANTI-VIR.DAT File Design
Most ThunderBYTE Anti-Virus utilities expect every directory on your
system with executable files to contain its own ANTI-VIR.DAT file. Some
other anti-virus products maintain a somewhat similar fingerprint list
of all executable files, but in one large file rather than a separate
file in each directory. TBAV's approach is superior for several reasons:
One file in each directory is easy to maintain. If you want to
remove the complete product, you can remove the accompanying ANTI-
VIR.DAT file as well.
It consumes less disk space because it is not necessary to store
full path information in the information file.
The TBAV utilities perform faster because they do not have to search
through a huge file to locate the information for one specific file.
Installation is easier and more reliable in network environments. On
a network, it is not unusual that the same files have different
drive ID's on different workstations. If there is only one
information file, the drive-IDs should be stored as well, so every
workstation should maintain its own list. The supervisor can quickly
lose control in this type of situation.
4.2.2 Editing the TBSETUP.DAT File
Editing the TBSETUP.DAT file is useful to TBAV site installation (see the
next section). Therefore, some information on the format of this file is
necessary.
Understanding the Format of TBSETUP.DAT
The format of the TbSetup.Dat file is quite simple. You can either ignore
empty lines, lines starting with a semi-colon (;), and lines starting
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 151
with a percentage symbol (%), or you can treat them as comment lines. The
lines with a preceding percentage symbol also appear in TbSetup's upper
window.
Each entry in the TBSETUP.DAT file has four items:
1. The filename. The filename MUST appear in capital letters and
without spaces.
2. The length of the file in hexadecimal notation. This field might
contain a single asterisk [*] if an exact file length match is not
required.
3. The file's 32-bit CRC in hexadecimal notation. You can use a
single asterisk if an exact checksum match is not required.
4. The hexadecimal number representing flags you want set when the
listed file is found on the system.
You can use the rest of the line for a brief comment.
You can use the following flags. If several flags require setting for a
file, you can combine them using the bitwise OR operation:
bit 0: (0001) Do not perform heuristic analysis
bit 1: (0002) Ignore CRC changes (self-modifying file)
bit 2: (0004) Scan for all signatures (LAN remote boot file)
bit 3: (0008) Do not change read-only attribute of this file
bit 4: (0010) The program stays resident in memory
bit 5: (0020) The program performs direct disk access
bit 6: (0040) Program is allowed to remove read-only
attributes
bit 15: (8000) Interrupt rehook required for TBDRIVER.EXE
The following are a few example entries from a TBSETUP.DAT file:
; filename Length 32-bit CRC Flags Comment
; Files that trigger the heuristic alarm of TbScan:
4DOS.COM 19FEA * 0001 ;4Dos 4.0a
AFD.COM 0FEFE 4B351A86 0001 ;AFD debugger
ARGV0FIX.COM 001D8 431E70C0 0001 ;Argv[0]fix
EXE2COM.EXE 00BEA 49276F89 0001 ;Exe to Com conv. util
KILL.EXE 00632 74D41811 0001 ;PcTools 6.0 utility
WATCH.COM 003E1 2353625D 0001 ;TSR monitoring util
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 152
; Files that need to be scanned completely, for ALL viruses:
NET$DOS.SYS * * 0004 ;Disk-image Novell boot
; Files without fixed checksum due to internal config area's:
Q.EXE * * 000A ;Qedit (all versions)
TBCONFIG.COM * * 000A ;all versions
Defining New Entries in TBSETUP.DAT
If you have any files that we should include in TBSETUP.DAT, please let
us know! We would like to receive a copy to enhance our products and keep
TBSETUP.DAT up to date. Candidates for inclusion are any programs that
trigger the heuristic analysis of TbScan.
Whenever you choose "V)alidate program" in the TbScan message window, you
will discover that on subsequent occasions TbSetup displays the value
"0001" in the flags field. If your company has several files like this
installed on multiple machines, you might want to include these files in
the TBSETUP.DAT file yourself. To do this, execute TbSetup for the file
in question and make a note of its file length and 32-bit CRC, as
displayed on the screen. Then edit the TBSETUP.DAT file, entering the
exact filename, the file length, and the CRC number, plus the number of
any flags you wish to set for that file. If you now use TbSetup on
another machine (using the updated TBSETUP.DAT file), it sets the
appropriate flags automatically.
TIP:
You can manually set or clear a flag field value when executing
TbSetup at the DOS prompt using the SET or RESET option as follows:
TBSETUP TEST.EXE SET=0001.
4.2.3 Simplifying Installation on Several Machines
If you need to install the TBAV utilities on several machines in one
company, it would be tedious, for example, to run every TSR and disk
utility on each machine to "teach" TBAV which programs are valid and
which are not. Fortunately, this is not necessary. We present here some
examples of how to simplify installation on several machines.
If a resident utility named, for example, TSRUTIL.EXE, is in use
throughout the company, you can predefine permission by using TbSetup.
First, use TbSetup to determine the length and CRC of the program.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 153
Second, put the name of the program, along with its other information,
in the TBSETUP.DAT file, and then assign the flag 0010 to it:
TSRUTIL.EXE 01286 E387AB21 0010 ;OUR TSR UTILITY
If a disk utility named, for example, DISKUTIL.EXE, is in use throughout
the company, you can predefine permission by using TbSetup. First, use
TbSetup to determine the length and CRC of the program. Second, put the
name of the program, along with its other information, in the TBSETUP.DAT
file, and then assign the flag 0020 to it:
DISKUTIL.EXE 01286 E387AB21 0020 ;OUR DISK UTILITY
If a utility named, for example, UTIL.EXE, causes TbScan to give false
positives and is in use throughout the company, you can use TbSetup to
"teach" TbScan to avoid heuristic scanning of the program. First, use
TbSetup to determine the length and CRC of the program. Second, put the
name of the program, along with its other information, in the TBSETUP.DAT
file, and then assign the value 0001 to it:
UTIL.EXE 01286 E387AB21 0001 ;OUR UTILITY
If you now run TbSetup on every machine (you have to do this anyway), it
recognizes the utilities you added in the TBSETUP.DAT file. Additionally,
all the TBAV utilities automatically adapt their behavior for those
files.
TIP:
Consult the TBSETUP.DAT file itself. It contains useful comments on
this subject.
4.3 Understanding TbScan
This section offers advanced information about TbScan, including:
heuristic scanning, integrity checking, program validation, algorithms,
and the TBSCAN.LNG file.
4.3.1 Understanding Heuristic Scanning
What makes TbScan so unique is that it is not just a signature scanner,
but it is also a disassembler. It disassembles files for the following
purposes:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 154
By disassembling a file, the scanner restricts itself to the area of
the file where the virus might reside, reducing false alarms and
speeding up the process. Disassembling a file makes it possible to
use the algorithmic detection method on encrypted viruses whose
signatures would otherwise remain invisible to the scanner.
Disassembling the file makes it possible to detect suspicious
instruction sequences.
This detection of suspicious instruction sequences is "heuristic
scanning." This extremely powerful feature enables you to detect new or
modified viruses and to verify the results of the signature scan. You no
longer have to rely on the scanner's publisher having the same virus as
you might have. In normal cases a scanner can find a virus only if the
scanner's publisher had a sample of that virus and includes that virus's
signature in a signature file. In contrast, heuristic scanning does not
require signatures, enabling the scanner to detect yet unknown viruses by
looking for the characteristics of a virus instead of a signature.
Never underestimate the importance of heuristic scanning, since every
month at least 50 new viruses are reported, and it is extremely unlikely
that a publisher is the first one to get a new virus.
TbScan distinguishes two heuristic levels. The following table describes
the properties of these levels:
Heuristic Level 1 Heuristic Level 2
----------------------- ---------------------------------------
always enabled only enabled with command-line option
"heuristic", or TBAV menu option "High
heuristic sensitivity," or after a virus
has been found
detects 50 % of (yet) detects 90 % of (yet) unknown viruses
unknown viruses
almost never causes might cause few false alarms
false alarms
displays "Probably displays "Might be infected"
infected"
The following lines show the effect of scanning four files, each having
its own characteristics. Please note the heuristic flags that appear next
to the word "scanning."
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 155
FILE1.EXE scanning...OK (no flags)
FILE2.EXE scanning...ROK (nothing serious)
FILE3.EXE scanning...FRM might be infected by unknown virus
FILE4.EXE scanning...FRALM# probably infected by unknown virus
It is obvious from these four examples that heuristic scanning (resulting
in the heuristic flags) is very powerful for finding yet unknown viruses.
4.3.2 Understanding How Heuristic Scanning Works
Every program contains instructions for the computer's microprocessor. By
looking into the file's contents and interpreting the instructions,
TbScan is able to detect the purpose of these instructions. If the
purpose appears to be formatting a disk, or infecting a file, TbScan
issues a warning. There are many instruction sequences that are very
common for viruses but are very uncommon for normal programs. TbScan,
therefore, assigns every suspicious instruction sequence to a character
called a heuristic flag. Every heuristic flag denotes a score. If the
total score (that is, the sum of scores for each flag that triggered)
exceeds a predefined limit, TbScan assumes the file contains a virus.
There are actually two predefined limits. The first limit is quite
sensitive and can be reached by some normal innocent programs. If the
suspicious program reaches this limit, TbScan highlights the heuristic
flags that appear on the screen and increases the suspicious item's
counter. TbScan does not indicate the existence of a virus unless you
specify the heuristic or high heuristic sensitivity option. If you do
specify this option, TbScan informs you that the file Might be infected
by an unknown virus.
In contrast to the first option, many viruses trigger the second
heuristic limit, while normal programs do not. If a suspicious program
reaches this limit, TbScan informs you that the file is Probably
infected by an unknown virus.
NOTE:
TbScan performs heuristic analysis only near the entry-point of a
file. Therefore, TbScan does not detect direct writes to disk by
some disk utilities nor does it detect some programs as TSR
programs. This is simply the result of a specific approach that
minimizes false alarms. In case of a virus, the offending
instructions are always near the entry-point (except when the virus
is over 10Kb in size), so TbScan detects suspicious
phenomena in these situations anyway.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 156
4.3.3 Understanding Integrity Checking
TbScan performs integrity checking while scanning. For this purpose, you
must use TbSetup to generate the ANTI-VIR.DAT files. Once these files
exist on your system, TbScan verifies that every file being scanned
matches the information maintained in the ANTI-VIR.DAT files. If a virus
infects a file, the maintained information no longer matches the now
changed file, and TbScan informs you of this.
NOTE:
There are no command line options to enable this feature. TbScan
performs integrity checking automatically if it detects the ANTI-
VIR.DAT files.
Note that TbScan reports only those file changes that could indicate a
virus. While internal configuration areas of program files might also
change, TbScan normally does not report these. If a file becomes infected
with a known or unknown virus, however, the vital information does change
and TbScan does indeed report it to you!
In contrast, there might be files that change themselves frequently or
change frequently due to another cause. In such a case you might want to
exclude the program from integrity checking to avoid future false alarms.
If TbScan detects such a change, it informs you of it. Additionally,
TbScan offers the possibility to Validate the program, which is the
subject of the next section.
Understanding Program Validation This section applies only if you use
TbSetup to generate the ANTI-VIR.DAT records. Without these records,
program validation is not an option.
TbScan performs as intended on most programs. There are some programs,
however, that require special attention in order to avoid false alarms.
TbSetup recognizes most of these programs automatically. Nevertheless it
is certainly possible your PC contains some program files that trigger
the heuristic alarm of TbScan and/or programs files that change
frequently.
If TbScan finds an infection using heuristic analysis or integrity
checking, and if there is an ANTI-VIR.DAT record available, it offers an
additional option in its virus-alert window, namely, V)alidate program.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 157
If you are sure that the indicated program does not contain a virus, you
can press V to set a flag in the program s ANTI-VIR.DAT record. This
avoids future false alarms.
There are two validation modes. If TbScan alarms you to a file change,
the validation applies to future file changes only. If the alarm is due
to heuristic analysis, the validation applies only to heuristic results.
If you exclude the file from heuristic analysis, TbScan still performs an
integrity check. Conversely, if you exclude the file from integrity
checking, TbScan still performs heuristic analysis.
CAUTION:
If you replaced a file (for example, because of a software upgrade)
and you did not apply TbSetup to the changed files, TbScan pops up
its virus alert window to inform you of the file change. Do not
select the validation option in this case, because this would
exclude the file from future integrity checking. You should abort
TbScan and execute TbSetup on the changed file(s) instead.
4.3.4 Understanding the Scan Algorithms
When TbScan processes a file it displays one of the following messages:
Looking.
"Looking" indicates that TbScan has successfully located the entry
point of the program in one step; that is, it has identified the
program code so it knows where to search without the need of
additional analysis. TbScan uses "Looking" on most known software.
Checking.
"Checking" indicates TbScan has successfully located the entry point
of the program, and is scanning a frame of about two kilobytes
around the entry point. If the file is infected, the virus signature
appears in this area. "Checking" is a very fast and reliable scan
algorithm, so TbScan applies it to most unknown software.
Tracing.
"Tracing" means that TbScan has successfully traced a chain of jumps
or calls while locating the entry point of the program and is
scanning a frame of about two kilobytes around this location. If the
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 158
file has been infected, the signature of the virus appears in this
area. "Tracing" is a fast and reliable scan algorithm. TbScan uses
it primarily for memory resident COM programs. Most viruses force
TbScan to use "Tracing."
Scanning.
"Scanning" indicates that TbScan is scanning the entire file (except
for the EXE-header that cannot contain any viral code). It uses this
only if it can't safely use "Looking," "Checking," or "Tracing."
Such is the case when the entry point of the program contains other
jumps and calls to code located outside the scanning frame, or when
the heuristic analyzer finds something that you should investigate
more thoroughly. Because Scanning is a slow algorithm, it
processes almost the entire file, including data areas, and it is
more likely to trigger false alarms. TbScan uses this algorithm when
scanning boot sectors, SYS files, and BIN files.
Skipping.
"Skipping" occurs only with SYS and OVL files. It simply means that
the file will not be scanned. As there are many SYS files (such as
CONFIG.SYS) that contain no code at all, it makes absolutely no
sense to scan these files for viruses. The same applies to .OV?
files. Many overlay files do not deserve the name overlay because
they lack an EXE-header. Such files cannot execute through DOS,
which in-turn makes them just as invulnerable to direct virus
attacks as .TXT files. If TbScan reports that a virus has infected
an .OV? file, that file is one of the relatively few overlay files
that does contain an EXE-header. In such a case, the infection was
the result of the virus monitoring the DOS exec-call (function 4Bh)
and thereby infecting any program that executes that way, including
real overlay files.
Decrypting.
TbScan detected that the file is encrypted, and decrypts it to be
able to "look inside." TbScan performs signature scanning and
heuristic analysis on the decrypted code since that is very reliable
and also reveals polymorphic viruses.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 159
4.3.5 Understanding the TBSCAN.LNG File
The TBSCAN.LNG file contains all the text that TbScan displays. You can
translate or customize the messages with any ASCII editor. A dollar sign
[$] separates the messages.
The first message displays our address and registration information. You
can edit this message as you please, adding, for example, your company
name and logo.
CAUTION:
Take care in customizing messages so that you don't change the
essence of the message.
You can also add color codes to the TBSCAN.LNG file. You must precede a
color code with the "pipe" [|] character. Each color code consists of a
foreground (or highlight) color and a background color. The following
table lists the available color codes (all numbers are in hexadecimal
notation):
Color Foreground Highlight Background
--------- -------------- -------------- ----------
Black 00 08 00
Blue 01 09 10
Green 02 0A 20
Cyan 03 0B 30
Read 04 0C 40
Magenta 05 0D 50
Brown 06 0E (yellow) 60
Gray 07 0F (white) 70
To make characters blink, add 80 to the background color codes.
Here are few examples of defining colors:
To make a highlighted green character on a red background, use the
color code 0A+40=4A. To make the character blink, add 80h to the
result (4A+80=CA). To display white characters on a blue background,
use the color code 0F in combination with color code 10: 0F+10=1F.
If you prefer a cyan background with a gray foreground, you should
add 30 to 07 (30+07=37). If you want the characters to blink, the
color code becomes 37+80=B7.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 160
4.3.6 Understanding the TBAV.MSG File
The TBAV menu displays the contents of a file named TBAV.MSG, if it
exists in the ThunderBYTE directory. You can use this feature to display
your company logo on the TBAV screen. As in the TbScan language file, you
can embed color codes in this file. Consult the previous section for more
information about color codes.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 161
4.4 Understanding TbClean
This section takes a look at how TbClean works by explaining how a virus
goes about infecting a file and the difference between conventional
cleaners and generic cleaners.
4.4.1 Understanding how a Virus infects a file
To understand how a cleaning program works, try to imagine how a virus
usually goes about infecting a program. The basic principle is really
quite simple. A virus, which is simply another computer program, adds
itself to the end of the program it infects. The additional viral code
obviously increases the size of the program.
Simply appending a viral program to another program, however, is not
enough to do any real harm. To do damage, the viral code must first be
executed. To accomplish this, the virus grabs the first few bytes at the
start of the program and replaces them with a jump instruction to its
own viral code. That way the virus is able to take control when the
program starts. Chances are you will never even notice the momentary
delay while the extra code executes and does whatever the virus has been
programmed to do. The virus then restores the original instructions and
restarts the program (jumps to the original start of the program). Your
program, more often than not, works as usual, and of course, any virus
worth its salt makes sure it doesn't draw undue attention to itself, at
least not too soon.
So, in order to purge a program, we must first restore the starting
instruction bytes, which the virus replaced with the jump to its own
code. The virus is going to need these bytes again later on, so it stores
them somewhere in the viral code. The cleaner starts out to find those
bytes, puts them back in their proper place, and trims the file to the
original size.
Cleaner programs basically come in two types: the conventional type, for
specific types of viruses, and the far more advanced generic cleaner,
which offers a much wider scope. Let's take a closer look at both cleaner
types and find out where they differ.
4.4.2 Understanding Conventional Cleaners
A conventional cleaner has to know which virus to remove. Suppose one of
your programs is infected with a Jerusalem/PLO virus. This means that the
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 162
infected program has grown in size in comparison with the original
program, and that the first few bytes have been replaced by a "jump"
instruction to the viral code. The following drawing ilustrates this
process:
original program infected program
+--------------+ +--------------+
| | | |
| p | 100: |jump |
| r | |to 2487 |
| o | | o |
| g | | g |
| r | | r |
| a | | a |
| m | | m |
| | | |
| c | | c |
| o | | o |
| d | | d |
| e | | e |
| | | |
+--------------+ +--------------+
2487: | |
| VIRUS! p |
| r |
|jmp 100 |
+--------------+
When you start a conventional cleaner, a procedure much like the
following takes place:
"Hey, the signature file tells me this file is infected with the
Jerusalem/PLO virus. Okay, let's see, this virus tacks on 1873 bytes
at the end and overwrites the first three bytes of the original
program with a jump to itself. The original bytes are located at
offset 483 in the viral code. So, I have to take those bytes, copy
them to the beginning of the file, and then remove 1873 bytes of the
file. That's it!"
But there are several pitfalls to worry about in a scenario like this.
For one thing, the cleaner obviously must have some means to recognize
the virus it should remove. A conventional cleaner cannot cope with a
virus unless it knows exactly what to look for.
To make matters worse, it's even more important to establish whether or
not the virus is exactly the same one that the cleaner knows about.
Imagine what would happen if the virus in our example had been modified
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 163
and is now 1869 bytes in size instead of 1873. The cleaner would remove
too much! This is not an exceptional case at all. On the contrary, there
is a virtual epidemic of countless so-called mutant strains. The
Jerusalem/PLO family, to name but one example, now has more than 100
mutant members!
4.4.3 Understanding Generic Cleaners
A generic cleaner works on the principle that any kind of virus, whether
or not it has made the signature "charts," is just plain bad news. That's
why TbClean works with a completely different disinfection scheme that is
effective with almost all viruses; it doesn't even need to recognize
them. Actually, TbClean represents two cleaners in one: a "repair"
cleaner and a "heuristic" cleaner.
Repair cleaning
Repair cleaning needs an ANTI-VIR.DAT file generated by TbSetup before
the infection occurred. The ANTI-VIR.DAT file stores vital information
about programs, including their original size, the first few instruction
codes, and a cryptographic checksum. This information is usually all it
takes to disinfect a file, no matter what virus, known or unknown, caused
the infection. The cleaner simply restores the bytes at the beginning of
the program, trims the file to its original size, and verifies the result
using the original checksum. It's just that simple (and effective).
Heuristic cleaning
TbClean is the first cleaner in the world that has a heuristic cleaning
mode. Like the repair cleaner, this mode does not need any information
about viruses either, but it also has the added advantage that it doesn't
even care about the original, uninfected state of a program. This
cleaning mode is very effective if your system becomes infected with an
unknown virus and you neglected to let TbSetup generate the ANTI-VIR.DAT
files before infection.
In heuristic mode, TbClean loads the infected file and starts emulating
the program code. It uses a combination of disassembly, emulation and,
sometimes, execution to trace the flow of the viral code, pretending to
do more or less exactly what the virus would normally be doing. When the
virus gets to the original program's instructions and jumps back to the
original program code, TbClean stops the emulation process, with a
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 164
tongue-in-check thank you to the virus for its cooperation in
restoring the original bytes.
The actual cleaning process involves almost the same three steps as with
repair cleaning. First, TbClean repairs the program startup code and
copies it back to the file. Second, it removes the now ineffective code
for the sake of security. Third, it does a final analysis of the purged
program file.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 165
4.5 Using TbGenSig
This final section of Chapter 4 introduces you to TbGenSig, an advanced
user utility that enables you to define your own virus signatures.
4.5.1 Understanding and using TbGenSig
TbGenSig is a signature file compiler. Since we distribute TBAV with an
up to date, ready-to-use signature file, you do not really need the
signature file compiler.
If, however, you want to define your own virus signatures, you will need
this utility. You can use either published signatures or define your own,
if you are familiar with the structure of software.
One way or another, you need to do this only in case of an emergency,
such as in the unfortunate event that a yet unknown, and thus
unrecognized, virus attacks your machine, or even your company. We
recommend that you send a few samples of the virus to some of our
researchers, to insure that they can be examined and the results included
in one of the subsequent updates to our software.
NOTE:
Since it's not possible to explain the whole subject of virus
hunting in one manual, this section assumes you have enough
experience and knowledge to create your own virus signatures.
TbGenSig searches for the USERSIG.DAT file in the current directory. This
file should contain the signatures you want to add to the TBAV signature
file TBSCAN.SIG. TbGenSig checks the contents of the USERSIG.DAT file and
applies it to the TBSCAN.SIG file.
If you want to delete or modify your signatures, just edit or delete the
USERSIG.DAT file and run TbGenSig again.
TbGenSig lists all signatures in the TBSCAN.SIG file on screen as it
runs.
4.5.2 Working with TbGenSig
This section describes how to use TbGenSig. It outlines how to format the
text in the USERSIG.DAT file, add published signatures, define your own
signatures, and other procedures.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 166
Formatting Text in USERSIG.DAT
You can create and edit the USERSIG.DAT file using any DOS text editor
(such as DOS 5+ EDIT program) that uses un-formatted (ASCII) text. All
lines starting with a semicolon (;) are comment lines. TbGenSig ignores
these lines. Lines starting with a percentage character (%) appear in the
upper TbGenSig window.
The first line should contain the name of a virus, the second line
contains one or more keywords, and the third line contains the signature
itself. We call this combination of three lines a signature record. A
signature record should look like this:
TEST VIRUS
EXE COM INF
ABCD21436587ABCD
You can use spaces in the signature for your own convenience; TbGenSig
will just ignore them.
Adding a Published Signature
As outlined above, adding an already published signature is simply a
matter of editing or creating the USERSIG.DAT file to convert the
signature to an acceptable format for TbGenSig. Format the three lines
to include the virus name, keywords, and the signature, as in the
following:
NEW VIRUS
EXE COM BOOT INF
1234ABCD5678EFAB
After editing the file, execute TbGenSig.
4.5.3 Defining a Signature with TbScan
This section is for advanced users who have registered their copy of
ThunderBYTE Anti-Virus.
Although the TBSCAN.SIG file updates frequently, new viruses appear every
day, outpacing the regular upgrading service of the TbScan signature
file. It is possible for your system to become infected by a recently
created virus not yet listed in the signature file. TbScan will not
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 167
always detect the virus in such cases, not even with its heuristic
analysis. If you are sure that your system has become infected without
TbScan confirming this, this section will supply you with a valuable tool
to detect unknown viruses. This section offers step-by-step assistance in
creating an emergency signature that you can (temporarily) add to your
copy of TbScan.Sig
1. Collect some infected files and copy them into a temporary
directory.
2. Boot from a clean write-protected diskette.
WARNING:
Do NOT execute ANY program from the infected system, even
though you expect this program to be clean.
3. Execute TbScan from your write-protected TbScan diskette using
the EXTRACT option. Make sure that the temporary directory where
you stored the infected files is TbScan's target directory. Using
the EXTRACT option, TbScan will NOT scan the files but, instead,
displays the first instructions that it finds at the entry-point of
the infected programs.
NOTE:
We recommend that you also set TbScan's LOG option to generate
a log file.
4. Compare the "signatures" extracted by TbScan. You should see
something like this:
NOVIRUS1.COM 2E67BCDEAB1290909 09090 ABCD123490CD
NOVIRUS2.COM N/A
VIRUS1.COM 1234ABCD5678EFAB9 09090 ABCD123478FF
VIRUS2.COM 1234ABCD5678EFAB9 01234 ABCD123478FF
VIRUS3.COM 1234ABCD5678EFAB9 A5678 ABCD123478FF
If the "signatures" of the files are completely different, the files
are either probably not infected, or they have become infected by a
polymorphic virus that requires an algorithmic detection module to
detect it.
5. If there are some differences in the "signatures," you can use
the question mark wildcard (?). A signature to detect the virus in
the example above could be:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 168
1234ABCD5678EFAB ?3 ABCD123478FF
The "?3" means that there are three bytes at that position that
should be skipped. Note that two digits in the signature represent a
byte in your program.
6. Add the signature to USERSIG.DAT. Give the virus a name in the
first line of its entry, specify the COM, EXE, INF, and ATE in the
second line, and enter the signature in the third, as in the
following:
NEW VIRUS
EXE COM ATE INF
1234ABCD5678EFAB?3ABCD123478FF
7. Run TbGenSig. Make sure the resulting TbScan.Sig file is in the
TBSCAN directory.
8. Run TbScan again in the directory containing the infected files.
TbScan should now detect the virus.
9. Send a couple of infected files to a recommended virus expert,
preferably to the ThunderBYTE Corporation.
Congratulations! You have defined a signature all by yourself! Now you
can scan all your machines in search of the new virus.
CAUTION:
Keep in mind that this method of extracting a signature is a
"quick-and-dirty" solution to viral problems. The extracted
signature might not detect the presence of the virus in all cases.
You can make a signature guaranteed to detect all instances of the
virus only after complete disassembly of the new virus. For these
reasons you should NEVER distribute your home-made "signature" to
others. In most cases, the signature eventually assembled by
experienced anti-virus researchers may be different from your
homemade version.
4.5.4 Understanding Keywords
You can use keywords for several purposes. You can separate them by
spaces, commas, or tabs and use a maximum line length of 80 characters.
You also should specify at least one of the following flags: BOOT, COM,
EXE, HIGH, LOW, SYS, or WIN.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 169
These seven flags fall into three categories: "Item Keywords," "Message
Keywords," and "Position Keywords."
Using Item Keywords
Item keywords tell the scanner where to search for viruses with those
keywords. For example, the BOOT keyword tells the scanner that the
accompanying virus signature can reside only in a boot sector or
partition table. The Item keywords include the following:
BOOT. Specifies that the signature can be found in boot sectors
and/or partition tables.
COM. Specifies that the signature can be found in COM programs.
This flag instructs the scanner to search for this
signature in executable files that do not have an EXE
header or device header.
NOTE: Always keep in mind that the file content determines
the file type, not the filename extension!
EXE. Specifies that the signature can be found in EXE programs.
This flag instructs the scanner to search for this
signature in the load module of EXE type files. EXE files
are files that have an EXE header. (See the Note under the
COM keyword.)
HIGH. Specifies that the signature can be found in HIGH memory
(above program).This flag instructs the scanner to search
for this signature in memory above the memory allocated by
the scanner. This keyword is for resident viruses that
allocate memory at "system boot" or viruses that decrease
the size of the last MCB (Memory Control Block). Please
note that the flag HIGH does not mean that the signature
should be searched in UPPER memory.
LOW. Specifies that the signature can be found in LOW memory.
This flag instructs the scanner to search for this
signature in memory below the PSP (Program Segment Prefix)
of the scanner and in the UMBs (Upper Memory Blocks). This
keyword is for viruses that remain resident in memory,
using the normal DOS TSR (Terminate and Stay Resident)
function calls.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 170
SYS. Specifies that the signature can be found in SYS programs,
such as device drivers.
WIN. Specifies that the signature can be found in Windows
programs.
Message keywords
Message keywords describe the type and behavior of the virus. For each
keyword, this results in the scanner displaying a different message when
it finds such a virus. These keywords include the following:
DAM. Message prefix: damaged by.
DROP. Message prefix: dropper of.
FND. Message prefix: found the.
INF. Message prefix: infected by.
Message suffix: virus.
JOKE. Message prefix: joke named.
OVW. Message prefix: garbage: (not a virus).
PROB. Message pre-prefix: probably.
TROJ. Message prefix: trojanized by.
Position keywords
Position keywords indicate special file areas where the virus can be
found. If you use a position keyword, the virus must reside at the
specific position. TbGenSig can handle three position keywords:
UATE. Specifies that the signature starts directly at the
unresolved entry-point of the viral code. With some
polymorphic viruses, it might be possible to create a
signature from the degarbling routine, although it might
be either too short or give false positives with a global
search. An initial branch instruction can be part of the
signature. The unresolved entry-point is defined for COM-,
EXE-, and Windows-type files:
COM type files: top of file (IP 0100h).
EXE type files: CS:IP as defined in the EXE-header.
WIN type files: Non-DOS CS:IP of the new EXE-header.
NOTE:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 171
The UATE keyword is not allowed for BOOT, SYS, LOW,
HMA, or HIGH type signatures.
ATE. Specifies that the signature starts directly at the
entry-point of the viral code. With some polymorphic
viruses, it might be possible to create a signature from
the degarbling routine, although it might either be too
short or give false positives with a global search.
Therefore, use the ATE keyword to ensure that the scanners
do not scan the entire file for the signature, but only
look at the entry-point for the signature.
The first instruction that is not equal to either a "JUMP
SHORT," a "JUMP," or a "CALL NEAR" instruction defines the
entry point of a virus.
Let's examine the following code fragment:
Unresolved entry point: 1 JUMP SHORT 3
2 ...
3 JUMP 5
4 ...
5 CALL NEAR 7
6 ...
7 CALL NEAR 9
8 ...
Resolved entry point: 9 POP <reg>
The entry-point of the above fragment is Line 9, as this
is the first instruction to execute that is not a "JUMP
SHORT," a "JUMP," or a "CALL NEAR."
NOTE: You can determine the entry-point by a code analyzer
to cope with tricks such as coding an NOP or DEC just
before the branch instruction. Therefore test the results
of the scanner carefully. In case of trouble, use the
TbScan EXTRACT option to find out what TbScan considers to
be the entry point of the program. Also, the ATE flag is
not allowed for BOOT, SYS, LOW, HMA or HIGH type
signatures.
XHD. Specifies that the signature can be found at offset 2 of
the EXE header, but is rarely used. You should use it only
to detect the also very rare high-level language viruses,
viruses written in a programming language such as C or
Basic. These viruses normally contain standard setup
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 172
routines and library routines that are not suitable to
defining a signature. Use this keyword as a last resort to
detect such viruses.
NOTE:
You can use this flag only for EXE or WIN type
signatures.
Using Wildcards
You can use wildcards characters in a virus signature to recognize so
called polymorphic (self-modifying or self-mutating) virus code.
TbGenSig distinguishes two wildcard categories: position wildcards and
opcode wildcards (note that all numbers are in hexadecimal):
Using Position Wildcards
Position wildcard affect the position where the parts of the signature
match.
Skip fixed amount of bytes
?n Skip n bytes and continue.(0h <= n <= Fh)
?@nn Skip nn bytes and continue.(00h <= nn <= 7Fh)
Skip variable amount of bytes
*n Skip up to n bytes and continue. (0h <= n <= Fh)
*@nn Skip up to nn bytes and continue. (00h <= nn <= 1Fh)
Using Opcode wildcards
The opcode wildcards detect instruction ranges.
Low opcode
nL One of the interactions in the range of n0h to n7h.
High opcode
nH One of the interactions in the range of n8h up to nFh.
Since the opcode wildcards are rather difficult to understand, let's
explore an example.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 173
Suppose a polymorphic virus puts a value in a word register (using a MOV
WREG,VALUE instruction), increments a register (using an INC WREG
instruction), and pops a word register from the stack (using a POP
instruction). Both the registers and the value are variable. This means
that the signature you are writing to detect this virus should be able to
detect all code sequences for every value of the registers and the value,
but this is far too much work. Now, consider that B8-BF are the opcodes
for MOV WREG,VALUE, that 40-47 are the opcodes for INC WREG, and that
58-5F are the opcodes for POP REG.
By using the opcode wildcards, you can detect a sequence of these three
instructions using the following signature fragment:
bH4L5H
4.5.5 Understanding a Sample Signature: Haifa.Mozkin
To show the power of using the appropriate keywords and wildcards, here
is the signature of the Haifa.Mozkin virus. This virus is highly
polymorphic and encrypted. It contains a small variable decryptor to
decrypt the virus.
There are two problems here: most bytes are encrypted or variable, thus
not suitable to be part of a signature, and the remainder is short and
would cause dozens of false alarms.
Using the appropriate keywords and wildcards, however, it s possible to
define a reliable signature. TbScan actually uses the signature below to
detect the Haifa.Mozkin virus.
Haifa.Mozkin
com exe ate inf
bh?2bh?109?2*22e80?24l4h75fl
Now let's analyze this signature. The first line describes the name of
the virus. The second line tells the scanner to search for this signature
in COM and EXE type files. It also tells the scanner that it should
report the file as infected if the signature matches. The keyword ATE
instructs the scanner to match this signature only at the resolved
entry-point of the file. The virus starts, of course, by decrypting
itself, so it is certain that the scanner will scan this location. The
ATE instruction limits the scope of this signature to just one position
in a file, so this significantly reduces the chances of false alarms.
The third line is the signature definition. Let's reverse engineer it:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 174
bh?2 Means a byte in the B8-BF range is followed by two
variable bytes. B8-BF is a MOV WREG,VALUE instruction.
From the register we only know it is a word register; the
value is unknown as well.
bh?109 Means another MOV WREG,VALUE instruction. The register is
a word register, and from the value we know that it is in
the range 0900 to 09FF.
?2*2 Means skip two to four bytes. The virus inserts this
instruction to make it harder to define a signature.
2e80?2 Means that the virus performs an arithmetic byte sized
operation with an immediate value (decrypts one byte) with
a CS: segment override. The exact operation, the memory
location, and the value are unknown.
4l Means a byte in the 40-47 range. This is an INC WREG
instruction. The virus increments the counter to the next
byte to be decrypted.
4h Means a byte in the 48-4F range. This is a DEC WREG
instruction. The virus decrements the iteration count.
75fl Opcode 75 is a JNZ instruction. If the decremented
register did not reach zero, the virus jumps back and
repeats the operation. How much does it jump? That tells
the fl part: somewhere between -16 (F0h) to -8 (F7h)
bytes.
NOTE:
Although the signature language of TbGenSig is extremely powerful,
there are viruses that are simply so highly polymorphic that they
require even more sophisticated wildcards, keywords, or even special
detection algorithms. The explanation of these wildcards, keywords,
and algorithmic detection definitions, however, is beyond the scope
of this user manual.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 175
Appendices
Appendix A: TBAV messages
The TBAV utilities might display various messages when run. Most messages
are self-explanatory, but here is some additional information about
specific messages.
A.1 TbClean
ANTI-VIR.DAT record found: information matches the currentstate of the
file.
The ANTI-VIR.DAT record has been found, but the information matches
the current state of the file.
The ANTI-VIR.DAT file was created after the infection. Trying
emulation...
The ANTI-VIR.DAT record was created after the file became infected,
or the file is not changed at all. TbClean is going to emulate the
file to clean it heuristically.
ANTI-VIR.DAT record found: reconstructing original state...
The ANTI-VIR.DAT record that belongs to the infected file has been
found. The information will be used to reconstruct the file.
ANTI-VIR.DAT record not found: original state unknown. Trying
emulation...
The ANTI-VIR.DAT file did not exist or did not contain information
about the infected program, so the original state of the infected
program is unknown to TbClean. TbClean switches to its heuristic
mode to determine the state of the original file.
NOTE:
To prevent this situation, use the TbSetup program to generate
the ANTI-VIR.DAT records. These records are of great help to
TbClean. After infection, it's too late to generate the
ANTI-VIR.DAT records.
Emulation terminated: <Reason>
The emulation process terminated for the reason specified. TbClean
now consults the collected information to see if it can disinfect
the file. The reason for termination can be one of the following:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 176
Jump to BIOS code. The virus tried to perform a call or jump
directly into BIOS code. TBAV cannot emulate this process, so
aborts. The infected program probably cannot be disinfected.
Approached stack crash. The emulated program is approaching a
crash. Something went wrong while emulating the program so it
aborts. The infected program probably cannot be disinfected.
Attempt to violate license agreements. TbClean will not
disassemble this program for obvious reasons.
Encountered keyboard input request. The emulated program tries
to read the keyboard. This is very unusual for viruses, so the
file is probably not infected at all.
Encountered an invalid instruction. The emulator encountered an
unknown instruction. For some reason the emulation failed. The
infected program probably cannot be disinfected.
DOS program-terminate request. The emulated program requests
DOS to stop execution. The program is either not infected at
all, or infected by an overwriting virus that does not pass
control to its host program. The infected program cannot be
disinfected.
Jumped to original program entry point. The program jumped back
to the start position. It is very likely infected, but can
probably be disinfected.
Undocumented DOS call with pointers to relocated code. This is
very common for viruses that add themselves in front of the COM
type program. The program can probably be disinfected.
Encountered an endless loop. TbClean encountered a situation in
which the program is executing the same instruction sequences
repeatedly for hundreds of thousands of times. It is unlikely
that the program will ever escape from this loop, so the
emulation aborts.
Ctrl-break pressed. The user pressed <Ctrl>-<Break> so the
clean attempt aborts.
Emulation aborted for unknown reason. If this message appears,
please send a copy of the file being emulated to the
ThunderBYTE organization or one of the support BBS .
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 177
Sorry, the collected information is not sufficient to clean
file... The heuristic cleaning mode of TbClean aborts with
success. The only option left is to restore the file from a
backup or to re-install the program.
Collected enough information to attempt a reliable clean
operation... The emulation of the virus provided TbClean with
all information needed to disinfect the file.
Some DOS error occurred. TbClean aborted! Some DOS error
occurred while trying to clean the file. Check that no files
are read-only or located on a write protected disk, and make
sure there is a reasonable amount of free disk space.
The clean attempt seems to be successful. Test the file
carefully! TbClean thoroughly and reliably removed the virus
from the file. However, take care and test the file carefully
to see if it works as correctly.
Reconstruction failed. Program might be overwritten. Trying
emulation... TbClean tried to reconstruct the original file
with the help of the ANTI-VIR.DAT record, but the attempt
failed. TbClean is going to emulate the file to try to clean it
heuristically.
Reconstruction successfully completed. TbClean has
reconstructed the file to its original state with the help of
the information in the ANTI-VIR.DAT record. The CRC (checksum)
of the original file and the cleaned file are completely equal,
so it is almost certain that the cleaned file is equal to the
original file.
Starting clean attempt. Analyzing infected file... TbClean is
analyzing the infected file and trying to locate the
ANTI-VIR.DAT record.
A.2 TbDriver
Another version of TbDriver is already resident!
You started a TBDRIVER.EXE with another version number or processor
type than the TbDriver already in memory.
Cannot remove TbDriver. Unload other TSRs first!
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 178
You tried to remove TbDriver from memory, but other resident
software was loaded after TbDriver. You can only remove resident
programs from memory by unloading them in reverse order.
LAN support was already installed.
You tried to use the NET option a second time, or TbDriver already
enabled network support automatically.
TbDriver not active. Load TbDriver first!
The resident TBAV utilities need TbDriver, so you need to load
TbDriver first.
TbDriver is not <version>.
The version of TbDriver found in memory does not match the version
number of this resident TBAV utility. Be sure you do not mix version
numbers!
This version of TbDriver requires a <typeID> processor.
You are using a processor optimized version of TbDriver that the
current processor cannot execute.
A.3 TbScan
Cannot create logfile.
The specified log file path is illegal, the disk is full or write
protected, or the file already exists and cannot be overwritten.
[Cannot read datafile]
TbScan needs access to its data file to be able to tell you the name
of the virus. If it cannot access the data file, it displays this
message instead of the virus.
Command line error.
You specified an invalid or illegal command line option.
No matching executable files found.
The specified path does not exist, is empty, or is not an executable
file.
Sanity check failed!
TbScan detected that its internal checksum no longer matches. It is
possible that TbScan is contaminated by a virus. Obtain a clean copy
of TbScan, copy the program on a write protected system diskette,
boot from that diskette, and try again.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 179
A.4 TbScanX
Data file not found.
TbScanX cannot locate the data file.
Not enough memory.
There is not enough free memory to process the data file. Try to
enable swapping, or if you are already doing so, try another
swapping mode. See also the Understanding Memory Considerations
section in Chapter 4.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 180
Appendix B: TbScan Heuristic Flag Descriptions
This appendix describes TBAV's heuristic flags.
# - Decryptor code found
The file possibly contains a self-decryption routine. Some copy-protected
software is encrypted, so this warning might appear for some of your
files. If, however, this warning appears in combination with, for
example, the "T" warning, there could be a virus involved and TbScan
assumes contamination. Many viruses encrypt themselves and trigger this
warning.
! - Invalid program.
Invalid opcode (non-8088 instructions) or out-of-range branch. The
program has either an entry point that located outside the body of the
file, or reveals a chain of jumps that can be traced to a location
outside the program file. Another possibility is that the program
contains invalid processor instructions. The program being checked is
probably damaged and cannot execute in most cases. At any rate, TbScan
avoids risk and uses the scan method to scan the file.
1 - 80186+ instructions.
The file contains instructions which cannot be executed by 8088
processors, and require an 80186 or better processor.
@ - Strange instructions
The file contains instructions which are not likely to be generated by an
assembler, but by some code generator like a polymorphic virus instead.
? - Inconsistent header.
The program being processed has an EXE-header that does not reflect the
actual program lay-out. Many viruses do not update the EXE-header of an
EXE file correctly after they infect the file, so if this warning pops up
frequently, it appears you have a problem.
c - No integrity check
This warning indicates that TBAV found no checksum/recovery information
for the indicated file. We recommend you use TbSetup in this case to
store the file's information. TBAV uses this information for integrity
checking and to recover from virus infections.
h - Hidden or System file.
The file has the Hidden or the System file attribute set. This means
that the file is not visible in a DOS directory display but TbScan scans
it anyway. If you don t know the origin and/or purpose of this file, you
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 181
might be dealing with a Trojan Horse or a joke virus program. Copy
such a file onto a diskette, remove it from its program environment, and
then check if the program concerned is missing the file. If a program
does not miss it, you not only have freed some disk space, but you might
also have prevented a future disaster.
i - Internal overlay.
The program being processed has additional data or code behind the
load-module as specified in the EXE-header of the file. The program might
have internal overlay(s) or configuration or debug information appended
behind the load-module of the EXE file.
p - Packed or compressed file.
This means that the program is packed or compressed. There are some
utilities that can compress program files, such as EXEPACK and PKLITE.
If the file became infected after compression, TbScan is able to detect
the virus. However, if the file became infected before compression, the
virus was also compressed in the process, and a virus scanner might no
longer be able to recognize the virus. Fortunately, this does not happen
very often, but you should still beware! A new program might look clean,
but can turn out to be the carrier of a compressed virus. Other files in
your system will become infected too, and it is these infections that
will be clearly visible to virus scanners.
w - Windows or OS/2 header.
The program can be or is intended to run in a Windows (or OS/2)
environment. TbScan offers a specialized scanning method for these files.
A - Suspicious Memory Allocation
The program uses a non-standard way to search for, and/or to allocate
memory. Many viruses try to hide themselves in memory, so they use a
non-standard way to allocate this memory. Some programs (such as
high-loaders or diagnostic software) also use non-standard ways to search
or allocate memory.
B - Back to entry.
The program seems to execute some code, and after that jumps back to the
entry-point of the program. Normally this results in an endless loop,
except when the program also modifies some of its instructions. This is
quite common behavior for computer viruses. In combination with any other
flag, TbScan reports a virus.
C - File has been changed
This warning appears only if you use TbSetup to generate the ANTI-VIR.DAT
files and means the file has been changed. Upgrading the software would
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 182
trigger this message. Otherwise, it is very likely that a virus infected
the file!
NOTE:
TbScan does not display this warning if only some internal
configuration area of the file changes. This warning means that code
at the program entry point, the entry-point itself, and/or the file
size has been changed.
D - Direct disk access
This flag appears if the program being processed has instructions near
the entry-point to write to a disk directly. It is quite normal that some
disk related utilities trigger this flag. If several files that should
not be writing directly to the disk trigger this flag, your system might
be infected by an unknown virus.
NOTE:
A program that accesses the disk directly does not always have the
"D" flag. Only when the direct disk instructions are near the
program entry point does TbScan report it. If a virus is at fault,
the harmful instructions are always near the entry point, so it is
only there that TbScan looks for them.
E - Flexible Entry-point
This flag indicates that the program starts with a routine that
determines its location within the program file. This is rather
suspicious because sound programs have a fixed entry-point so they do not
have to determine this location. For viruses, however, this is quite
common. Approximately 50% of the known viruses trigger this flag.
F - Suspicious file access
TbScan has found instruction sequences common to infection schemes that
viruses use. This flag appears with those programs that are able to
create or modify existing files.
G - Garbage instructions.
The program contains code that seems to have no purpose other than
encryption or avoiding recognition by virus scanners. In most cases there
won't be any other flag since the file is encrypted and the instructions
are hidden.
NOTE:
This flag appears occasionally on "normal" files. This simply
indicates, however, that these are poorly designed, not infected..
J - Suspicious jump construct.
The program did not start at the program entry point. The code has either
jumped at least twice before reaching the final startup code, or the
program jumped using an indirect operand. Sound programs should not
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 183
display this kind of strange behavior. If several files trigger this
flag, you should investigate your system thoroughly.
K - Unusual stack.
The EXE file being processed has an odd (instead of even) stack offset or
a suspicious stack segment. Many viruses are quite buggy by setting up
an illegal stack value.
L - Program load trap
The program might trap the execution of other software. If the file also
triggers the "M" flag (memory resident code), it is very likely that the
file is a resident program that determines when another program executes.
Many viruses trap the program load and use it to infect the program. Some
anti-virus utilities also trap the program load.
M - Memory resident code.
TbScan has found instruction sequences that could cause the program to
hook into important interrupts. Many TSR (Terminate and Stay Resident)
programs trigger this flag because hooking into interrupts is part of
their usual behavior. If several non-TSR programs trigger this warning
flag, however, you should be suspicious. It is likely that a virus that
remains resident in memory infected your files.
NOTE:
This warning does not appear with all true TSR programs, nor can you
always rely upon TSR detection in non-TSR programs.
N - Wrong name extension.
Indicates a name conflict; that is, the program carries the extension
.EXE but appears to be an ordinary .COM file, or it has the extension
.COM but the internal layout of an .EXE file. A wrong name extension
might in some cases indicate a virus, but in most cases it does not.
O - code Overwrite.
This flag appears if TbScan detects that the program overwrites some of
its instructions. However, it does not seem to have a complete
(de)cryptor routine.
R - Suspicious relocator
Indicates a suspicious relocator. A relocator is a sequence of
instructions that changes the proportion of CS:IP. Viruses often use
this. Those viruses have to relocate the CS:IP proportion because they
were compiled for a specific location in the executable file; a virus
that infects another program can hardly ever use its original location in
the file as it is appended to this file. Sound programs know their
location in the executable file, so they don t have to relocate
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 184
themselves. On systems that operate normally, only a small percentage of
the programs should trigger this flag.
S - Search for executables
The program searches for *.COM or *.EXE files. This by itself does not
indicate a virus, but it is an ingredient of most viruses, since they
have to search for suitable files to spread themselves. If accompanied by
other flags, TbScan assumes the file is infected by a virus.
T - Invalid timestamp.
The timestamp of the program is invalid; that is, the number of seconds
in the time stamp is illegal, or the date is illegal or later than the
year 2000. This is suspicious because many viruses set the time stamp to
an illegal value (such as 62 seconds) to mark that they already infected
the file so they won't infect a file a second time. It is possible that
the program being checked is contaminated with a virus that is still
unknown, especially if several files on your system have an invalid time
stamp. If only very few programs have an invalid time stamp, you d better
correct it and scan frequently to check that the time stamp of the files
remains valid.
U - Undocumented system call.
The program uses unknown DOS calls or interrupts. These unknown calls can
be issued to invoke undocumented DOS features, or to communicate with an
unknown driver in memory. Since many viruses use undocumented DOS
features, or communicate with memory resident parts of a previously
loaded instance of the virus, a program is suspicious if it performs
unknown or undocumented communications. This does not necessarily
indicate a virus, however, since some tricky programs also use
undocumented features.
V - Validated program
The program has been validated to avoid false alarms. The design of this
program would normally cause a false alarm by the heuristic scan mode of
TbScan, or this program might change frequently, and TbScan excludes the
file from integrity checking. Either TbSetup (automatically) or by TbScan
(manually) stores these exclusions in the ANTI-VIR.DAT.
Y - Invalid boot sector.
The boot sector is not completely according to the IBM defined boot
sector format. It is possible that the boot sector contains a virus or
has been corrupted.
Z - EXE/COM determinator.
The program seems to check whether a file is a COM or EXE type program.
Infecting a COM file is a process that is not similar to infecting an EXE
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 185
file, which implies that viruses able to infect both program types should
also be able to distinguish between them. There are, of course, innocent
programs that need to find out whether a file is a COM or EXE file.
Executable file compressors, EXE2COM, converters, debuggers, and
high-loaders are examples of programs that might contain a routine to
distinguish between EXE and COM files.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 186
Appendix C: Solving Incompatibility Problems
Although TBAV utilities cooperate very well with other resident software,
other software might not behave so well. This can cause system errors or
even more serious problems. This section describes some common problems
and their solutions.
PROBLEM:
If a TBAV utility tries to display a message, the text message
"file <filename> could not be opened" appears.
Specify the FULL path and filename of the file to use as a message
file after the TbDriver loading command. The default file name is
TBDRIVER.LNG.
PROBLEM:
One of your utilities is loading a TSR into memory without an
executable filename extension, such as .EXE or .COM. Since TbSetup
creates ANTI-VIR.DAT records only for files with an executable
extension, there is no ANTI-VIR.DAT, so TbMem is not able to record
the TSR permission information.
Run TbSetup and specify the exact filename of the TSR. TbSetup
creates an ANTI-VIR.DAT record, regardless of the filename
extension, so TbMem can now record its information.
Although the ANTI-VIR.DAT record exists, TbScan does not use it to
check the CRC to avoid false alarms.
PROBLEM:
You are running a network, and one of the following problems arises:
1. TbScanX is installed, but does not display the *scanning*
message while accessing files. It also does not detect viruses.
2. TbCheck is installed, but does not display the *checking*
message while accessing files. It also does not detect viruses.
3. TbFile is installed, but does not detect anything.
4. TbMem is installed, but does not detect TSRs.
Use the "TbDriver net" command after the network loads.
PROBLEM:
The system sometimes hangs when the message *scanning* is on the
screen.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 187
Try TbScanX without the EMS or XMS option. If TbScanX now works
without any problems, add the EMS or XMS option again along with the
COMPAT option. On some systems, you cannot use the TbScanX XMS
option at all because these systems do not allow resident software
to use extended memory.
If the problem relates to the XMS option and still occurs when you
use the COMPAT option, you can use the XMSSEG = <VALUE> option to
change the XMS swap segment address. The value should be between
2000 and 8000. The default value is 4000.
PROBLEM:
After you have given permission for a program to remain resident in
memory, TbMem asks the same question the next time.
First, the SECURE option of TbDriver is in use. Remove this option,
reboot and try again.
Second, the program mentioned does not appear in the ANTI-VIR.DAT
file and, therefore, TbMem cannot permanently store the permission
flag. Use TbSetup first to generate this program's ANTI-VIR.DAT
record.
Third, for some reason it is not possible to write to the
Anti-Vir.Dat file. The file might reside on a write protected
diskette, on a network in a read-only directory, or the Anti-Vir.Dat
file has the read-only attribute set.
PROBLEM:
The system sometimes hangs when you answer "YES" (abort program) to
a TbMem message.
A solution here is difficult. Some resident programs seriously
interfere with the system, and once rejected from memory, the system
becomes unstable.
PROBLEM:
When you load TbDisk from the DOS command prompt, everything works
fine. When you install TbDisk from within the CONFIG.SYS or
AUTOEXEC.BAT file, however, it continually warns that programs write
to disk directly.
Load TbDisk at the end of your AUTOEXEC.BAT file.
PROBLEM:
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 188
You formatted the hard disk using DOS FORMAT, but TbDisk did not
display a message until the process was almost complete.
This is not a problem. A high level format program such as DOS's
FORMAT.COM does not actually format the disk (that is, divide the
disk into tracks and sectors), rather it reads all tracks to locate
possible bad spots and clears the FAT and directory structure. Only
this last step implies a disk write, so it is the only one TbDisk
detects.
PROBLEM:
After you give permission for a program to perform direct disk
access, TbDisk asks the same question the next time.
First, the SECURE option of TbDriver is in use. Remove this option,
reboot and try again.
Second, the program mentioned does not appear in the ANTI-VIR.DAT
file and therefore TbDisk can not permanently store the permission
flag. Use TbSetup first to generate this program's ANTI-VIR.DAT
record.
PROBLEM:
If you try to use Windows fast 32-bit disk access, Windows displays
an error message.
Use the WIN32 option on the TbDisk command line.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 189
Appendix D: TBAV Exit Codes and Batch Files
All TBAV utilities return to DOS with an error code that you can use with
DOS's ERRORLEVEL command. The chief use of these error codes is in batch
files. This appendix lists these error codes. Consult your DOS manual for
information how to use error codes in batch files.
D.1 TbScan Exit Codes
TbScan terminates with one of the following exit codes:
Errorlevel Description
---------- -------------------------------------
0 No viruses found/ No error occurred
1 No files found
2 An error occurred
3 Files have changed
4 Virus found using heuristic analysis
5 Virus found using signature scanning
255 Sanity check failed
D.2 TbUtil Exit Codes
TbUtil terminates with one of the following exit codes:
Errorlevel Description
---------- -------------------------------------
0 No error occurred
1 Option "compare" failed/An error occurred
D.3 General Exit Codes
All the TBAV utilities except TbScan and TbUtil (see above) exit with one
of the following exit codes:
Errorlevel Description
---------- -------------------------------------
0 No error occurred
1 A error occurred
D.4 Program Installation Check
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 190
To detect within a batch file whether a resident TBAV utility loaded, you
can check for the device names. All TBAV utilities install a device name,
whether they load from CONFIG.SYS or AUTOEXEC.BAT.
You can use the DOS IF EXIST batch file command to check for the device
names. The following example, illustrating a part of a batch file, uses
this construction to test whether TbScanX is loaded:
@ECHO OFF
IF NOT EXIST SCANX ECHO TBSCANX HAS NOT BEEN LOADED!
You could also branch to a label by using the GOTO command:
@ECHO OFF
IF NOT EXIST SCANX GOTO NOSCANX
ECHO TBSCANX EXISTS !
GOTO END
:NOSCANX
ECHO TBSCANX DOES NOT EXIST !
:END
Finally, the following table lists the device names used by the TBAV
utilities:
TBAV program Device name
------------ -------------------------------------
TbScanX SCANX
TbCheck TBCHKXXX
TbMem TBMEMXXX
TbFile TBFILXXX
TbDisk TBDSKXXX
TbLog TBLOGXXX
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page 191
Appendix E: Virus Detection and Naming
E.1 How Many Viruses Does TbScan Detect?
Most of the TbScan signatures are family signatures; that is, one
signature detects an entire set of viruses. All these viruses relate to
one another. The Jerusalem signature, for example, covers more than 100
viruses. For this reason, there is no way of knowing how many viruses
TbScan detects.
Some competitive products treat each virus mutant as a separate virus,
thus claiming to detect over 4000 viruses. TbScan, however, detects
viruses using only 2000 signatures. If you want to compare virus
scanners, you have to rely on the tests frequently published in
magazines.
E.2 The Virus Naming Convention
TbScan follows the CARO virus naming recommendations. CARO is an
organization in which leading anti-virus researchers participate. The
CARO approach groups viruses in a hierarchical tree, which indicates to
which family viruses belong. TbScan shows the complete CARO name where
possible.
In contrast, however, many other anti-virus products simply indicate the
family name or the member name. For example, many products might refer to
the Leprosy.Seneca.493 using the family name Leprosy or member name
Seneca, or even by the variant name 493. Worse yet, anti-virus
products developed by non CARO members might even use a completely
different name.
TbScan, however, tries to display as much of the name as possible.
Building on the previous example, if TbScan can t distinguish between the
Leprosy.Seneca.493 and Leprosy.Seneca.517 viruses, it indicates both
by the name Leprosy.Seneca
Some viruses mutate themselves frequently. To detect all instances of
such a virus, it is sometimes necessary to use multiple signatures.
Although these signatures cover exactly the same virus, they do have a
slightly different indication. Behind the name of the virus you will see
a number in angle brackets. This number has nothing to do with the name
of the virus, but is there just for maintenance reasons.
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page i
Index
Algorithms . . . . . . . . . . . . . . . . . . . . . . 74, 153, 157, 174
ANTI-VIR.DAT 1-4, 10, 18, 20, 22, 33-38, 41-43, 45, 46, 53, 62, 64, 75,
80-82, 92, 94, 95, 96, 98-103, 105, 111, 114, 120, 125, 150,
156, 157, 163, 175, 177, 181, 184, 186-188
Cleaner . . . . . . . . . . . . . . . . . . . . 1, 98, 106, 107, 161-163
Command line options 17, 40, 62, 79, 80, 86, 87, 94, 101, 102, 110, 112,
117, 132, 141, 145, 156
Communication . . . . . . . . . . . . . . . . . . . . . . . . . . 143-146
Configurations . . . . . . . . . . . . . . . . . . . . . . . . . 49, 116
Configuring TBAV . . . . . . . . . . . . . . . . . . 14-16, 40, 62, 100
Direct disk access . . . . . . . . . . . 39, 40, 124, 125, 151, 182, 188
Environment . . . . . . . . . . . . . . 3, 5, 24, 96, 127, 140, 148, 181
Exit codes . . . . . . . . . . . . . . . . . . . . . . . . . . . 6, 189
Generic cleaner . . . . . . . . . . . . . . . . . . . . . . . . 161, 163
Help . 15, 16, 27, 33, 34, 41, 44, 45, 62-64, 80, 86, 87, 94, 102, 108,
112, 117, 122, 123, 125, 141, 145, 175, 177
Heuristic cleaner . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Heuristic flags . . . . . . 6, 60, 61, 69, 70, 73, 74, 76, 154, 155, 180
Heuristic scanning . . . . . . . . . . . . . . . . . 47, 65, 76, 153-155
Immunized partition table . . . . . . . . . . . . . . . . . . . . . . 127
Installation . 8, 9, 11, 12, 18, 23, 25, 27, 44, 48, 121, 122, 125, 150,
152, 189
Integrity checking . . . . . . . . . . 1, 2, 18, 153, 156, 157, 180, 184
Interface . . . . . . . . . . . . . . . . . . . . . 5, 11, 12, 16, 86, 89
Maintenance . . . . . . . . . . . . . . 20, 120, 128, 129, 131, 133, 191
Memory requirements . . . . . . . . . . . . . . . . . . . . 88, 147, 148
Menu interface . . . . . . . . . . . . . . . . . . . . . . . 11, 12, 16
Microsoft Windows . . . . . . . . . . . . . . . . . . 5, 85, 93, 110, 140
Procedure . . . . . . . . . . . . . . . . . 3, 8, 9, 21, 23, 26, 48, 162
Program validation . . . . . . . . . . . . . . . . . . . 1, 18, 153, 156
Recovery diskette . . . . . . . . . . . . 10, 20, 23, 25-27, 29, 31, 127
Repair cleaner . . . . . . . . . . . . . . . . . . . . . . . . . 98, 163
Signature definition . . . . . . . . . . . . . . . . . . . . . . . . 173
Signature scanning . . . . . . . . . . . . . . . . . . . . 75, 158, 189
System requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
TBAV for DOS . . . . . . . . . . . . . . . . . . . . . . 6, 84, 108, 143
TBAV for Networks . . . . . . . . . . . . . . . . . . . . 8, 21, 143-146
TBAV for Windows . . . . . . . . . . . . 8, 21, 22, 50, 86, 93, 143-145
TbCheck . . 1, 2, 5, 10, 11, 19, 26, 27, 30, 33, 34, 78, 92-97, 147, 148,
186, 190
TbClean 3, 16, 17, 26, 32-34, 47, 98-107, 147, 148, 161, 163, 164, 175-177
TbDel . . . . . . . . . . . . . . . . . . . . . . . . . . . 4, 14, 16, 32
TbDisk . 1, 3-5, 19, 78, 108-111, 117, 120-125, 147, 148, 187, 188, 190
TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V. Page ii
TbDriver . 1, 10, 11, 19, 26, 27, 40, 78-83, 85, 92, 109, 111, 117, 121,
140, 147, 148, 149, 151, 177, 178, 186-188
TbFile 1, 3-5, 10, 11, 19, 37, 43, 78, 108-111, 116-119, 121, 147, 148,
186, 190
TbGenSig . . . . . . . . . 4, 57, 65, 147, 165, 166, 168, 170, 172, 174
TbLoad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 22
TbMem 1, 3-5, 10, 11, 19, 78, 81, 108-114, 117, 121, 147-149, 186, 187, 190
TbMon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
TbNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143-146
TbScan 1, 2, 6, 10-15, 17-22, 24, 26, 29, 30, 33, 40, 44, 46-76, 84, 91,
106, 147, 151-160, 165-168, 171, 173, 178, 180-184, 186, 189, 191
TBSCAN.SIG . . . . . . . . . . . . . . . . 1, 6, 20-22, 26, 91, 165-168
TbScanX . 1, 2, 5, 10, 11, 19, 78, 82, 84-91, 147-149, 179, 186, 187, 190
TbSetup . 1-3, 10, 17-20, 22, 25, 27, 33-46, 92, 98, 111, 114, 120, 125,
147, 150, 151, 152, 153, 156, 157, 163, 175, 180, 181, 184, 186-188
TBSETUP.DAT . . . . . . . . . . . . . . . . . . . 40, 43, 45, 46, 150-153
TbUtil . . . . . . . . . . . . . 2, 3, 16, 26, 30, 31, 126-138, 147, 189
Thanks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1, 47
Updates . . . . . . . . . . . . . . . . . . . . . . 20, 80, 120, 165, 166
USERSIG.DAT . . . . . . . . . . . . . . . . . . . . . . . . 165, 166, 168
Virus detection . . . . . . . . . . . . . . . . 33, 75, 127, 130-133, 191
Virus infection . . . . . . . . . 1, 24, 25, 29, 31, 47, 69, 92, 108, 136
Virus naming . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Virus protection . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Windows . 5, 8, 21, 22, 44, 50, 52, 54, 57, 63, 68, 73, 85, 86, 93, 105,
110, 122, 124, 140, 141, 143-145, 170, 181, 188
Workstation . . . . . . . . . . . . . . . . . 11, 139, 143, 145, 146, 150