home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / n / nem_110.zip / NEMDOC.ENG < prev    next >
Text File  |  1993-03-13  |  99KB  |  1,993 lines

  1.         ====================================================================
  2.         NEMESIS v 1.10               (c) 1992, Christian Sy & Robert Hoerner
  3.         ====================================================================
  4.  
  5.  
  6.         CONTENT :
  7.  
  8.         General Overview
  9.         How does NEMESIS work
  10.         How to start NEMESIS
  11.         Commandline-parameters of NEMESIS
  12.         NEMESIS warnings (DOS-Level)
  13.         NEMESIS warnings (Sector-Level)
  14.         Technical remarks
  15.         explanation of keys to press
  16.         Appendix (false alarms & incompatibilities )
  17.         Explanation of terms
  18.  
  19.         ====================================================================
  20.         Read the file REGISTER.DOC, too !
  21.  
  22.         NEMESIS is shareware not freeware or in the public domain.
  23.  
  24.         If you are using it for longer then the trial period you HAVE to
  25.         register or to delete it.
  26.  
  27.         It is cheap ! Think about the lot of work it contains.
  28.         ====================================================================
  29.  
  30.         ====================================================================
  31.         General overview
  32.         ====================================================================
  33.  
  34.         REQUIREMENTS:
  35.         -------------
  36.  
  37.         - IBM XT or AT or compatible
  38.  
  39.         - DOS 3.3 or higher
  40.                (tested it with:
  41.                 PC-DOS 3.3, MS-DOS 5.00, 4DOS 3.0/4.0, DR-DOS 5.00,6.0)
  42.  
  43.         - at least 64 KB free memory to start NEMESIS
  44.  
  45.         - uses  0 Byte conventional memory, if you have XMS and enough
  46.                                    (min. 4KB) free upper memory
  47.         - uses  4 kB normal memory for resident NEMESIS if you have EMS,
  48.                                    but no (not enough) free upper memory
  49.         - uses 38 kB normal memory for resident NEMESIS if neither XMS nor EMS
  50.  
  51.         - 32 KB EMS / one EMS-handle for extended-learning-mode
  52.  
  53.         - sector-level protection (see below) needs
  54.           (1 KB EMS per 1 MB HD-space) + (32 KB EMS * Number of your
  55.              physically available drives, networkdrives excluded)
  56.  
  57.         - it needs 3 EMS-handles per DOS-drive (only harddrives)
  58.  
  59.         - EMS 4.0 for EMS-functions required.
  60.  
  61.           Use EMSTEST.COM to check it out.
  62.  
  63.         - two harddisks are supported.
  64.  
  65.         ====================================================================
  66.  
  67.         Features :
  68.         ----------
  69.  
  70.         - ability to create a flexible sector-image of specified files and
  71.           to prevent infection nearly completely.
  72.  
  73.         - ability to protect even files on SUBSTed, ASSIGNed and JOINed drives
  74.           on the level of sectors !
  75.           NEMESIS is the first program worldwide that is able to do this.
  76.  
  77.         - protects your directories from being destroyed
  78.  
  79.         - protects your FAT from being killed (not with SMARTDRV).
  80.  
  81.         - warns if protected files are to be created / deleted / changed
  82.  
  83.         - ability to run (!) almost completely in EMS, wasting a minimum of
  84.           conventional memory
  85.  
  86.         - ability to load itself high, wasting not a single byte in
  87.           conventional memory.
  88.  
  89.         - ability to learn about "good" programs.
  90.  
  91.         - doesn't need and doesn't use any scanstrings, this means you
  92.           don't need an update every two weeks
  93.  
  94.         - multiple languages available.
  95.  
  96.         - delivers an EMS emulator. More info on that see in EMS40.DOC
  97.         - contains an EMSTEST-utility.
  98.  
  99.         ====================================================================
  100.  
  101.         Pre-defined filenames :
  102.         -----------------------
  103.  
  104.         All the following files will be searched in the NEMESIS
  105.         start-directory.
  106.  
  107.         NEMESIS.BIN     : This file contains (nearly) all messages, that
  108.                           NEMESIS can give.
  109.  
  110.         NEMESIS.EXT     : This file contains all extensions, that you want to
  111.                           be protected in addition to the pre-defined
  112.                           extensions (see later).
  113.  
  114.         NEMESIS.FIL     : If you deny a write to a protected file and did not
  115.                           give the parameter "NOSAVE" , then NEMESIS will
  116.                           redirect what should have been written into the file
  117.                           NEMESIS.FIL.
  118.                           NOTE : Since this file may contain viruses ( after
  119.                           they have been disabled !) a scanner may find
  120.                           virus-signatures there. There is no danger at all,
  121.                           since NO VIRUS can infect from NEMESIS.FIL.
  122.  
  123.         NEMESIS.OVA     : Contains data that NEMESIS needs to remember after
  124.                           learning. It is no "overlay", but protected by its
  125.                           pseudo overlay-extension.
  126.  
  127.         NEMESIS.CFG     : This file contains your preferred commandline,
  128.                           that you wish to give to NEMESIS.
  129.  
  130.         If you normally want to start NEMESIS with "EMS" "FAT=OFF" then
  131.         you could insert these parameters in the file NEMESIS.CFG.
  132.         Type it exactly, as you would type it at the DOS-prompt.
  133.         Use ONE line only ! NEMESIS will first read your actually typed
  134.         commandline, analyse it, and then it will read the file NEMESIS.CFG.
  135.         If NEMESIS.CFG contains FAT=OFF, e.g., and you type "NEMESIS FAT=ON"
  136.         then "FAT=OFF" will be active, since the NEMESIS.CFG will be read
  137.         later (and will overrun your "FAT=ON").
  138.  
  139.  
  140.         ====================================================================
  141.         How does NEMESIS work                                             
  142.         ====================================================================
  143.  
  144.         NEMESIS works on two levels :
  145.         -----------------------------
  146.  
  147.         First (conventional) level is :
  148.         -------------------------------
  149.  
  150.         if a file which has a protected extension is opened
  151.         (e.g. "COMMAND.COM" has the extension "COM", which is protected)
  152.         it will be noticed by NEMESIS. NEMESIS will then act like you have
  153.         configured it, protecting this file from being changed without an
  154.         "OK" from you.
  155.  
  156.  
  157.         Second level is :
  158.         -----------------
  159.         Protection of those clusters which belong to files with
  160.         protected extensions.
  161.  
  162.         This means : your HD does not know anything about files, it just
  163.         contains tracks and sectors. Your DOS however gives you access to
  164.         files, not to sectors. So, if you are starting any program, e.g.
  165.         COMMAND.COM, your DOS has to check which sectors on which tracks in
  166.         which sequence contain the file COMMAND.COM, then it reads these
  167.         sectors one after the other into memory and executes, what they
  168.         contain (in our example, it starts COMMAND.COM and you will see a new
  169.         DOS-prompt).
  170.         See later : "technical remarks".
  171.  
  172.         You can access the sectors of COMMAND.COM with NU.EXE or PCTOOLS.EXE
  173.         or any other sector accessing utility.
  174.  
  175.         What we have implemented (we are the first worldwide..) is :
  176.         we are checking which sectors are owned by files with protected
  177.         extensions and if there is any write-access onto one of these sectors,
  178.         NEMESIS will act.
  179.  
  180.         The cluster-level protection, however, does only work, if you have
  181.         enough expanded memory.
  182.  
  183.  
  184.         ====================================================================
  185.         How to start NEMESIS :
  186.         ====================================================================
  187.  
  188.         Just type "NEMESIS" at the DOS-prompt and wait.
  189.  
  190.         NEMESIS will first create a number that allows to test,
  191.                 whether NEMESIS is infected or damaged.
  192.  
  193.         NEMESIS will then read the first sector of NEMESIS and checks
  194.                 whether NEMESIS' disk-image has been changed.
  195.  
  196.         NEMESIS will then check, wether NEMESIS is already loaded.
  197.                 If so, it skips the following step.
  198.                 If started from diskdrive, this step will be skipped, too.
  199.  
  200.         Otherwise : NEMESIS will create one COM and one EXE file.
  201.         Both files will be re-read after creation to check whether you have
  202.         already an active virus in memory, then both files will be executed
  203.         for the same reason (no execution if NEMESIS runs from a network drive).
  204.  
  205.         If everything seems to be ok, both will be deleted.
  206.         If NEMESIS detects, that at least ONE of theses files have been
  207.         modified, they will NOT be deleted, but you will get a message like
  208.         "Your system is already infected. Have a look into the file <blabla>".
  209.         This file exists in the root-directory of NEMESIS' startdrive.
  210.  
  211.         NEMESIS then looks what resources you computer has, which DOS-version
  212.         you have and so on, reads the commandline, reads NEMESIS.CFG and if
  213.         everything seems to be o.k., especially if you have enough EMS for
  214.         NEMESIS' data it will perform a scanning for clusters which are owned
  215.         by protected files.
  216.  
  217.         This will look like this :
  218.         (note : "scanning" here has nothing to do with "virus-scanning" !)
  219.  
  220. ------------------------------------------------------------------------------
  221.      NEMESIS 1.10 (english/unreg.), (c) 1992 Christian Sy & Robert Hoerner
  222.      Unregistered evaluation copy
  223. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  224.  Protected files in drive
  225.  EXE,COM,SYS,OV?,BIN
  226. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  227. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  228.  Scanning partition C: , please wait... SYSTEM
  229. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  230. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ total EMS in KB is : 7360
  231. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ free  EMS is KB is : 4672
  232. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ used  EMS in KB is : 0
  233. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  234. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  235. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  236. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  237. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  238. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  239. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  240. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  241. ------------------------------------------------------------------------------
  242.         or like this :
  243. ------------------------------------------------------------------------------
  244.      NEMESIS 1.10 (english/unreg.), (c) 1992 Christian Sy & Robert Hoerner
  245.      Unregistered evaluation copy
  246. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  247.  Protected files in drive
  248.  EXE,COM,SYS,OV?,BIN
  249. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  250. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  251.  Scanning partition C: , please wait... SYSTEM
  252. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  253. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ total EMS in KB is : 7360
  254. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ free  EMS is KB is : 4672
  255. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ used  EMS in KB is : 0
  256. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  257. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  258. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  259. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  260. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  261. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  262. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  263.  No cluster level protection possible on drive D:.
  264.  Reason : drive is controlled by
  265.  SSTOR.
  266. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  267. ------------------------------------------------------------------------------
  268.         Since compressed drives are not protected, you will be informed.
  269.  
  270.         Then you will see a screen, that contains the current status of
  271.         resident NEMESIS and you can go on with your work :
  272.  
  273. ------------------------------------------------------------------------------
  274. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  275.                          NEMESIS 1.10  installed  ...
  276. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  277.              Copyright 1992,1993 by Christian Sy & Robert Hoerner
  278. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  279.                            Status of resident NEMESIS
  280.  Resident NEMESIS is currently     ON
  281.  WAIT for keypress             is  ON        used   DOS-memory : 512 Byte
  282.  SAVE instead of WRITE         is  ON        used upper memory : 4000 Byte
  283.  warning on FAT-writes        are  ON        (CODE) EMS-memory : 35478 Byte
  284.  INVALID calls allowed         is  ON        (DATA) EMS-memory : 336 KB
  285.  warning if bootsector changed is  ON        used  EMS-handles : 14
  286.  WATCH interrupts              is  ON        -------------------------------
  287.  STEALTH-MODE (using EMS)      is  ON              MS-DOS/PC-DOS : 5.0
  288.  watching sectors directly     is  ON                  Processor : 80386
  289.  initializing memory          was  OFF
  290.  allow TBSCANs special feature is  OFF
  291. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  292.  Protected files in drive C:,D:,E:,F:,
  293.  EXE,COM,SYS,OV?,BIN
  294.  Problem to read absolute sectors in upper memory !
  295.  Requesting low memory for buffering.
  296.  
  297. C:\NEMESIS 14:07>
  298. ------------------------------------------------------------------------------
  299.  
  300.         Maybe "STEALTH-MODE" and "watching sectors" is "OFF" at your screen.
  301.         Then you have no (or not enough) EMS or you gave the parameters
  302.         "NOEMS" and/or "NOFAT" to NEMESIS  (see : "parameters").
  303.  
  304.         The right side of your screen will contain other values, too. These
  305.         values are dependent on your actual configuration, your harddisk-size,
  306.         the amount of executables on your harddisk and so on.
  307.  
  308.         "Used DOS-memory"  means the amount of conventional memory, that
  309.         NEMESIS uses. The above picture is made from my computer, I have EMS
  310.         and XMS installed, so NEMESIS did load itself high and wasted 0 Byte
  311.         of conventional memory. Instead it used 4000 byte of "upper memory"
  312.         above 640 K, but below 1 MB.
  313.  
  314.         But since I have a Busmaster-DMA-controller build in, NEMESIS has to
  315.         request a 512-byte buffer for direct sector-access. It resides in
  316.         DOS-memory. Without this I would not have any protection against
  317.         destruction of directories.
  318.  
  319.  
  320.         Since I have EMS NEMESIS swapped itself into expanded memory, using
  321.         33673 byte of it (it used 49152 Byte, since you can request
  322.         expanded memory only in pieces of 16384 byte) for its code.
  323.         It needed 1 EMS-handle for this.
  324.  
  325.         NEMESIS has scanned my harddisk, I have sector-level protection. So
  326.         NEMESIS used 12 handles of EMS for its data (drive C: to F:, each one
  327.         needs 3 handles). These 12 handles contain 336 KB expanded memory.
  328.  
  329.         One more handle is used for learning. So NEMESIS needs 14 handles.
  330.  
  331.         The other data is given for debug purposes. Maybe NEMESIS acts
  332.         "strange" or doesn't work at all. Then most probably one of its
  333.         internal switches is fault. This maybe the version of DOS or others.
  334.         It doesn't tell every switch but if one of the above data is wrong
  335.         then please : drop a note to Robert Hoerner, adress below.
  336.  
  337.         ---------------------------------------------------------------------
  338.         What you can see is the current status of NEMESIS.
  339.         If you wish to change anything : do it.
  340.  
  341.         NEMESIS detects NEMESIS in memory and will not go resident twice
  342.         but give the new status to the resident NEMESIS.
  343.  
  344.  
  345. ------------------------------------------------------------------------------
  346. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  347.                             NEMESIS-parameters are :
  348. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  349. ON/OFF           : Switches NEMESIS "ON" or "OFF"
  350. QUIT             : Removes NEMESIS completely from memory
  351. ADD              : add new extensions to protect
  352. TBSCAN=ON/TBSCAN=OFF  : (not) allow TBSCAN-special feature (be careful ...)
  353. WAIT/NOWAIT      : (no) wait for keypress on decisions
  354. FAT=ON/FAT=OFF   : (no) warnings an writings to FAT
  355. WATCH/NOWATCH    : do (not) watch for changes of interrupts
  356. SAVE/NOSAVE      : on rejected write-accesses : (no) save instead of write
  357. FACE/NOFACE      : show (no) activity face on screen
  358. BOOT=ON/BOOT=OFF : (no) warnings, if bootsector is written
  359. INVALID/NOINVALID: (not) allow invalid calls to DOS
  360. SHA=,SW=,CO1=,CO2=,CO3=,CO4=,CO5=,CO6=,CO7= : set colors
  361.  The following parameters are valid only at startup :
  362. LOW              : NEMESIS should NOT loadhi itself
  363. EMS/NOEMS        : do (not) use EMS for code
  364. NOFAT            : should (or can) not use EMS for cluster-level protection
  365. INIT             : initialize memory on startup
  366. BATCH            : switch NEMESIS on and off without asking
  367. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  368. C:\NEMESIS 14:08>
  369. ------------------------------------------------------------------------------
  370.  
  371.         ====================================================================
  372.         Commandline-parameters of NEMESIS :
  373.         ====================================================================
  374.  
  375.         Simply type "NEMESIS ?" at the DOS-prompt to see all parameters.
  376.  
  377.         You can type the commands when starting NEMESIS and at any time later.
  378.  
  379.         ====================================================================
  380.         ON/OFF           : Switches NEMESIS "ON" or "OFF"
  381.         ====================================================================
  382.  
  383.         You can switch NEMESIS OFF and ON whenever you wish it.
  384.         NEMESIS works resident and watches every access to your HD and
  385.         watches many calls to your DOS. This cannot be done without affecting
  386.         the performance of your system. So, if you are sure not to be in
  387.         danger of viruses you can temporarily switch NEMESIS OFF and then
  388.         switch it on again.
  389.  
  390.  
  391.         ====================================================================
  392.         ADD              : add new extensions to protect
  393.         ====================================================================
  394.  
  395.         You can add new protected extensions whenever you wish it.
  396.         Create a textfile "NEMESIS.EXT" containing the extensions you wish to
  397.         be protected. e.g. "PIFDBFLOGBAT" and so on. Do not write the quotes,
  398.         just write the extensions themselves without spaces.
  399.         Each extensions may contain the "?" wildcard(s) and must be 3 chars.
  400.         This means "FI?" is valid, "F*" is NOT valid.
  401.         "???" is valid and will result in protecting ALL files :
  402.  
  403.         WE DO NOT RECOMMEND THIS !
  404.  
  405.         You would be warned on every write-acces to any file (textfiles,
  406.         tmp-files and and and....).
  407.  
  408.         You can add up to 24 extensions.
  409.  
  410.         NEMESIS will re-scan your harddisk then.
  411.  
  412.         ====================================================================
  413.         WAIT/NOWAIT      : (no) wait for keypress on decisions
  414.         ====================================================================
  415.  
  416.         Normally NEMESIS will open a window and ask you how to act.
  417.         If you are sure that every write-access to files with protected
  418.         extensions should be rejected, you can give the parameter "NOWAIT" to
  419.         NEMESIS. Then you will never be asked, any writeaccess to any protected
  420.         file will be rejected.
  421.  
  422.         Use this with care ! There are some executables that write to
  423.         themselves, if you reconfigure them (TURBO-Pascal, Q-Edit, Wordstar,
  424.         and many others, too).
  425.         If NEMESIS rejects this write-request your new configuration is
  426.         lost.
  427.  
  428.         ====================================================================
  429.         FAT=ON/FAT=OFF   : (no) warnings on writings to FAT'
  430.         ====================================================================
  431.  
  432.         Since some (useful) programs are writing directly to your FAT
  433.         (file allocation table) without "going trough DOS", NEMESIS will give
  434.         warnings that may be (and in theses cases : ARE) false alarms.
  435.  
  436.         To disable this warning temorarily simply type "NEMESIS FAT=OFF".
  437.         You can switch the warnings on again typing "NEMESIS FAT=ON".
  438.         If you are using SMARTDRV from Microsoft (r) then this switch is
  439.         internally forced to FAT=OFF.
  440.  
  441.         ====================================================================
  442.         WATCH/NOWATCH    : do (not) watch for changes of interrupts
  443.         ====================================================================
  444.  
  445.         Most viri catch some interrupts to be sure, that they can work.
  446.         (see "technical remarks" ).
  447.  
  448.         For example : if you type "NEMESIS" at the DOS-prompt a call to
  449.         interrupt 21h will be performed, containing the text "NEMESIS".
  450.         This call will be received by your DOS, that loads NEMESIS.COM from
  451.         your HD and starts it.
  452.         If there is any other program, that you have started and that has
  453.         "catched" interrupt 21h (e.g. DOSEDIT) this program will "hear" the
  454.         call too and can react. DOSEDIT will not react on THIS call, but most
  455.         virusses WILL.
  456.  
  457.         NEMESIS can notice any catching of some interrupts that are
  458.         "interesting" for viruses. If one of these has been catched it
  459.         will give you a warning and you can decide, what to do.
  460.  
  461.         ====================================================================
  462.         BOOT=ON/BOOT=OFF : (no) warnings, if bootsector is written
  463.         ====================================================================
  464.  
  465.         Normally the first bootsector of each harddisk is protected as a
  466.         special system-sector. If you give "BOOT=ON" as a parameter, then each
  467.         bootsector on every partition is protected.
  468.         Normally these sectors should never be written to.
  469.         If you have small partitions (normally with less than 10 MB) some
  470.         diskeditors will write into these sectors. Then you can disable the
  471.         warnings by calling NEMESIS with parameter BOOT=OFF.
  472.  
  473.         ====================================================================
  474.         SAVE/NOSAVE      : on rejected write-accesses :
  475.                            (no) save instead of write
  476.         ====================================================================
  477.  
  478.         Since NEMESIS can reject any write-access you might be
  479.         interested in WHAT should have been written.
  480.         It could be a virus as well as your actual configuration (see above).
  481.         If you tell NEMESIS to "SAVE" , then a file "NEMESIS.FIL" will be
  482.         created, where this (rejected) data will be written into.
  483.  
  484.         ====================================================================
  485.         INVALID/NOINVALID: (not) allow invalid calls of DOS-interrupt 21h
  486.         ====================================================================
  487.  
  488.         Some viruses have a simple way to detect themselves im memory : they
  489.         perform a call to interrupt 21h and listen to the "answer".
  490.         There are some known "calls" and "answers".
  491.         NEMESIS can watch for these calls.
  492.         However : a lot of these calls are used by network-software, too.
  493.         So : if you are running NEMESIS on a network, these calls normally
  494.         will be calls from the network itself, and you will get very often
  495.         false "virus"-alarms.
  496.         On computers without any network these calls normally are "invalid",
  497.         that means DOS does not know the "answer". NEMESIS does.
  498.  
  499.         ====================================================================
  500.         TBSCAN=ON/TBSCAN=OFF : (not) allow TBSCANs special feature
  501.         ====================================================================
  502.  
  503.         TBSCAN is a very fast virus scanner, written by Frans Veldman,
  504.         Netherlands. Since version 3.0 it uses a special feature to increase
  505.         its performance : it swaps the dos-internal entry into your hard-disk
  506.         ROM , so it can directly access your harddisk. Since this is typical
  507.         for some "advanced" viruses, too, we first decided NOT to allow this
  508.         swapping.
  509.         TBSCAN, however, is a good scanner, so we give the responsibilty to
  510.         you : by default this feature is NOT ALLOWED.
  511.         Starting TBSCAN will result in aborting it by NEMESIS. You have to
  512.         call NEMESIS with "TBSCAN=ON" , then TBSCAN is allowed to swap.
  513.  
  514.         Read the note below about CALIBRATE.
  515.  
  516.                                 * BE CAREFUL *
  517.  
  518.         A virus is allowed to swap, too !!! Since NEMESIS cannot decide if a
  519.         virus swaps or if TBSCAN swaps...
  520.         You should call NEMESIS again at once after running TBSCAN
  521.         with "TBSCAN=OFF".
  522.  
  523.         ====================================================================
  524.         FACE / NOFACE   : do (not) activity-indicator
  525.         ====================================================================
  526.  
  527.         If you give NEMESIS the command NOFACE it will not display the
  528.         indicator, otherwise it will. It is always shown, if NEMESIS works.
  529.  
  530.         ====================================================================
  531.  
  532.         ====================================================================
  533.         The following parameters are valid only at startup :
  534.         ====================================================================
  535.  
  536.         ====================================================================
  537.         LOW              : NEMESIS should not loadhi itself.
  538.         ====================================================================
  539.  
  540.         From version 0.97 on NEMESIS is able to loadhi itself.
  541.         Since version 1.10 it doesn't allow you to use the LOADHIGH-command
  542.         from DOS, since in most cases it will make problems.
  543.         (see note about "loadhi").
  544.  
  545.         If NEMESIS loads itself high, it will start in conventional memory,
  546.         copying all parts, that will be needed, high, no byte more than this.
  547.         If you have no expanded memory, but enough upper memory, it will load
  548.         itself completely (35 KB) high.
  549.         If you have EMS and did not say "NOEMS" it will only need 4000 Byte
  550.         upper memory.
  551.         So if you have a little "hole" in upper memory, LOADHIGH would not
  552.         be able to load NEMESIS high. NEMESIS itself IS able to do it.
  553.  
  554.         However, if you want to prevent NEMESIS from using upper memory,
  555.         give "LOW" as paramter at startup, and it will not loadhi itself.
  556.  
  557.         ====================================================================
  558.         EMS/NOEMS        : do (not) use EMS for its code
  559.         ====================================================================
  560.  
  561.         NEMESIS can work in normal DOS-RAM, in UPPER MEMORY or in EMS-MEMORY.
  562.         Since an anti-virus-program has to be secure from changes, that
  563.         viruses could make in the resident portion, the best is to start
  564.         NEMESIS without one of these parameters.
  565.         If you have at least 48kB free EMS then NEMESIS's code will reside
  566.         there, unreachable for any other program (especially for viruses).
  567.         If you do not have EMS then NEMESIS will install itself in normal
  568.         DOS-RAM or , if you have XMS, it will LOADHI itself into upper
  569.         memory.
  570.  
  571.         If you have no (or not enough) EMS this switch will internally be
  572.         switched "OFF".
  573.  
  574.         See the notes about EMM.SYS, EMM386 and SMARTDRV.EXE !
  575.  
  576.         ====================================================================
  577.         NOFAT            : should (or can) not use EMS for
  578.                            cluster-level protection
  579.         ====================================================================
  580.  
  581.         The same problem as above : You have no or not enough EMS and you are
  582.         telling this to NEMESIS at startup.
  583.         However, you do not need to tell this to NEMESIS, since it checks for
  584.         enough EMS during its initialization.
  585.         You can use this switch to switch off Cluster-level-protection, if you
  586.         like to.
  587.  
  588.         ====================================================================
  589.         BATCH           : allow "OFF" ,"ON"  and "QUIT" without
  590.                           request of any keypress (BATCH)
  591.         ====================================================================
  592.  
  593.         This switch replaces "SYSOP". "SYSOP" is removed.
  594.  
  595.         Be careful with this parameter. Giving it at startup allows to switch
  596.         NEMESIS ON and OFF from a normal batchfile.
  597.         Since version 1.10 it is allowed to remove NEMESIS with "BATCH".
  598.         A virus, that would first create such a file, then executes it,
  599.         is _not_ impossible.
  600.         However, on automatic running systems like BBSes it's necessary to
  601.         switch NEMESIS "OFF" sometimes.
  602.  
  603.         In earlier versions of NEMESIS it allowed to create and delete
  604.         protected files. This has been changed, since NEMESIS can learn
  605.         into file. See note about "learning" below.
  606.  
  607.         BE CAREFUL WITH THIS PARAMETER ! IT IS A SECURITY HOLE !
  608.  
  609.         We include a little NEMTEST.COM, that gives an ERRORLEVEL 0, if
  610.         NEMESIS is present and an ERRORLEVEL 1 if not. You can use this
  611.         NEMTEST in your batches.
  612.  
  613.         ====================================================================
  614.         INIT            : initialize memory on startup       (** CHANGED **)
  615.         ====================================================================
  616.  
  617.         There are some new viruses that search for enough "free" bytes in
  618.         your memory (usually in this part, where your DOS resides) and copy
  619.         themselves to these regions.
  620.         NEMESIS can prevent this by searching for these "infectable"
  621.         memory-regions and making them useless for these viruses.
  622.         With INIT it also searches for orphan interrupts and sets them to
  623.         iret. INT 68h to INT╥Gr╬╘xcluded!
  624.  
  625.         ====================================================================
  626.         QUIT            : remove NEMESIS completely from memory.
  627.         ====================================================================
  628.  
  629.         It removes NEMESIS completely from memory.
  630.  
  631.         This can make problems : If you loaded any TSR after NEMESIS, which
  632.         hooks one of these interrupts :
  633.  
  634.                         8,9,13,20,21,26,27,28,2F,30,40,67,
  635.  
  636.         (all hex) then it *may* crash your computer.
  637.         It surely *will* crash it, if the TSR "calls far" one of these
  638.         interrupts *and* if the TSR is triggered by an interrupt, that is not
  639.         in this list.
  640.         It will *not* crash, if it performs an "int xy".
  641.         It will be unlinked, however, if it handles one of these interrupts.
  642.  
  643.         If you gave BATCH as a command at startup, then you will not be asked,
  644.         if it is ok to remove NEMESIS : it will de-install at once.
  645.  
  646.  
  647.         ====================================================================
  648.         SHA=,SW=,CO1=,CO2=,CO3=,CO4=,CO5=,CO6=,CO7= : set colors
  649.         ====================================================================
  650.  
  651.         The following parameters are always valid and can be inserted into
  652.         NEMESIS.CFG. Changes will not be given to resident NEMESIS.
  653.  
  654.         --------------
  655.         Use NEMCFG.EXE (part of NEMESIS-package) to install the colors.
  656.         --------------
  657.  
  658.         SHA=z   set shadow-caracter     (default SHA=░  )
  659.         SW=xy   set shadow-color        (default SW=0F  : white on black)
  660.         CO1=xy  set background color 1  (default CO1=1F : white on blue)
  661.         CO2=xy  set status color 1      (default CO2=1E : yellow on blue)
  662.         CO3=xy  set textcolor 1         (default CO3=70 : black on white)
  663.         CO4=xy  set warning color 1     (default CO4=4B : yellow on red)
  664.         CO5=xy  set warning color 2     (default CO5=4F : white on red)
  665.         CO6=xy  set status color 2      (default CO6=1B : bright blue on blue)
  666.         CO7=xy  set info color 1        (default CO7=71 : blue on white)
  667.  
  668.         "xy" has to be set as HEX-value with always two valid digits :
  669.  
  670.         x always means the background-color (X = 0..F allowed)
  671.         y always means the foreground-color (Y = 0..F allowed)
  672.  
  673.         The file MONO.CFG contains a commandline for users of monocrom
  674.         monitors, the file COLOR.CFG contains the default colors.
  675.         You have to rename (or insert) these CFG-files to NEMESIS.CFG to make
  676.         them work.
  677.  
  678.         NOTE :
  679.         ======
  680.  
  681.         - CO2=2  is invalid : two digits required
  682.         - CO2=4G is invalid : G is not a valid number (only 0..F allowed)
  683.         - CO3=44 is invalid : would be invisible (red text on red background)
  684.  
  685.         Setting "x" to a value greater then 7 results in blinking text with a
  686.         color of "x-8".
  687.  
  688.         Setting "y" to a value greater then 7 results in lighted color (not
  689.         blinking).
  690.  
  691.         You can use the follwing table to find your colors. The first line
  692.         means the valid code for "x" and "y", the second line means the
  693.         resulting color (remember the note about blinking text) :
  694.  
  695.         ------------------------------------------------------------------
  696.         0            1             2             3
  697.         black        blue          green         cyan
  698.         ------------------------------------------------------------------
  699.         4            5             6             7
  700.         red          magenta       brown         lightgrey
  701.         ------------------------------------------------------------------
  702.         8            9             A             B
  703.         darkgrey     lightblue     lightgreen    lightcyan
  704.         ------------------------------------------------------------------
  705.         C            D             E             F
  706.         lightred     lightmagenta  yellow        white
  707.         ------------------------------------------------------------------
  708.  
  709.         xy of 37 means "lightgrey on cyan"       (x is 3 and y is 7)
  710.         xy of 5F means "white     on magenta"    (x is 5 and y is F)
  711.         xy of 9F means "blinking white on blue",
  712.         because x is greater then 8 and "x-8" is 1, this means "blue".
  713.  
  714.         -----------------------------------------------------------------
  715.         Again : use NEMCFG.EXE to install your own colors.
  716.                 Otherwise you will damage your health.
  717.         -----------------------------------------------------------------
  718.  
  719.         ======================================================================
  720.         NEW : Learning into file.
  721.         ======================================================================
  722.  
  723.         This feature needs 32 KB expanded memory.
  724.         If you have no EMS, it will be disabled.
  725.  
  726.         Since you normally are using the same programs that cause warnings,
  727.         but could be learned as "good" programs, we added the feature to
  728.         learn into a file. NEMESIS stores the NAME and EXTENSION of the
  729.         calling program (for example ARJ.EXE) as well as it can be
  730.         reconstructed, the offset, where the call came from and a number,
  731.         that identifies the region in memory, where the call came from.
  732.  
  733.         So, if you have caused NEMESIS to learn an adress, you (hopefully)
  734.         will really never again been asked,
  735.         - EXCEPT there will be a change in the programs code-region (*), and
  736.         - EXECPT the call comes from a different offset and
  737.         - EXCEPT the program has been renamed.
  738.  
  739.         Up to 1724 positions can be learned. If you have no EMS, NEMESIS can
  740.         learn up to 80 positions anyway. But they are lost, if you remove
  741.         NEMESIS from memory and have again to be learned the next time you
  742.         start it.
  743.  
  744.         NEMESIS "learns" the adress of the calling code (1234:5678 for example)
  745.         and will never ask you again, if an action comes from this specific
  746.         point of your memory.
  747.  
  748.         Your COMMAND.COM normally resides at the same adress in memory.
  749.         If you DEL some protected files, NEMESIS will warn you.
  750.         You can tell NEMESIS to LEARN this adress as a "good" adress and
  751.         you will never be warned again if you DEL something.
  752.  
  753.         Maybe you are starting a know "good" terminate-stay-resident program.
  754.         NEMESIS will ask for your "ok". Let it learn, that it's "OK" and you
  755.         will never be asked again.
  756.  
  757.         Starting DESQview will result in a "hang" with NEMESIS in memory.
  758.         The first time you are telling NEMESIS that you are about to start
  759.         DV, it will be learned, too.
  760.  
  761.         (*) for example :
  762.             TURBO.EXE from Borland sets its relocated datasegment within the
  763.             checked window. So you will be warned each time, when TURBO.EXE
  764.             is loaded into a different memory-region.
  765.  
  766.         ======================================================================
  767.         EDITOVA         Utility for editing NEMESIS.OVA
  768.         ======================================================================
  769.         This is for registered users ONLY.
  770.         It can be downloaded from our support-bbs's.
  771.         It allows to edit NEMESIS.OVA using a normal editor. Problems as with
  772.         TURBO.EXE can be solved using this utility.
  773.  
  774.         ======================================================================
  775.         NEMESIS is resident.
  776.         ======================================================================
  777.         Suddenly a line appears "press any key for informations".
  778.  
  779.         Ok, you press any key (NUMLOCK or SHIFT is not valid [was a joke]).
  780.  
  781.         A window will be opened explaining the situation. There are several
  782.         messages, that can be displayed and the window will look like this :
  783.  
  784. ------------------------------------------------------------------------------
  785. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  786.  Attempt to create a protected file : <filename.ext> <-this should be created 
  787.  Request comes from : 1234:5678                      <-adress of caller       
  788.  <other filename.ext>                                <-name of calling program
  789. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  790.                         Do you allow it ?                                     
  791. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  792.          <Y>es   : allowed                                                   
  793.          <N>o    : not allowed                                            
  794.          <D>eny  : alway "N"o , until program ends      
  795.          <G>o    : alway "Y"es , until program ends      
  796.          <A>bort : abort program immediately           
  797.          <L>earn : always allow this program             
  798.                                                                               
  799.          <T>ry   : fails, if file already exists                              
  800. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  801. ------------------------------------------------------------------------------
  802.  
  803.         What happened ? Someone (probably YOU) has tried to write to a
  804.         protected file. Maybe you have copied some programs from one path to
  805.         an other. Then a new file has to be created, with the same (protected)
  806.         name.
  807.         If this is the case : type "y" to allow it one time, or "g" to allow
  808.         it until your program ends. On the DOS-prompt "g" is accepted, too.
  809.  
  810.         If you are sure, that in the given situation it is always allowed
  811.         to create the file, you can tell it NEMESIS pressing the "L"-key.
  812.  
  813.         ** Handle with care **
  814.  
  815.         If you are sure, that you did not want to create the file, you can
  816.         type either "n" or "d".
  817.  
  818.         If you feel nervous, since you know that there are viruses on your
  819.         computer, you can "a"bort, too.
  820.  
  821.         "A"bort at once brings you to the DOS-prompt. Any previous work,
  822.         that is not saved will be lost. If you have edited a textfile and not
  823.         saved the new content, it will be lost. If you are reconfiguring a
  824.         program, that writes the new configuration into itself : it will be
  825.         lost.
  826.  
  827.         Again : HANDLE WITH CARE, but no need to be nervous !
  828.  
  829.         If you type "n" then the file will neither be created nor can be
  830.         written into this (nonexisting) file.
  831.  
  832.         If you type "t" then DOS tries to create the file.
  833.         If the file already exists, this create will fail.
  834.         If it does not exist yet, it will be created and you will not be asked
  835.         about this file again.
  836.  
  837.         ====================================================================
  838.         Back to the "keys" :                                             
  839.         ====================================================================
  840.  
  841.         "Y" means : allow the current action ONE TIME ONLY and then ask again.
  842.  
  843.         "N" means : deny the current action ONE TIME ONLY and then ask again.
  844.  
  845.         "G" means : allow everthing until the current program ends.
  846.                     "END" means, you left the program.
  847.                     Shelling to DOS and returning to the program is handled
  848.                     as "program has ended and is restarted again".
  849.                     You will be asked again.
  850.  
  851.         "D" means : deny everything until the current program ends.
  852.                     "END" means the same as above.
  853.  
  854.         "L" means : remember the current adress. If any (!) action comes again
  855.                     from this given adress then let it pass, do not ask, but
  856.                     allow the action.
  857.  
  858.         "A" means : abort immediately. Abort the current program and return to
  859.                     the executing shell (DOS or Norton Commander, e.g.).
  860.                     The current program will be terminated.
  861.  
  862.         "T" means : try to create the file. If it exists : fail, else make a
  863.                     new one.
  864.  
  865.  
  866.         ====================================================================
  867.         TECHNICAL REMARKS
  868.         ====================================================================
  869.  
  870.         NEMESIS is a very complex program. In order to handle it properly,
  871.         you should understand at least a bit, what it does and how it works.
  872.  
  873.         Basically, NEMESIS can be divided into two parts:
  874.  
  875.         The DOS-level-protection and the BIOS-level-protection.
  876.         This means : On the one hand there's code which watches DOS-calls and
  877.         warns you if protected FILES are to be changed, deleted, renamed and
  878.         so on... This was already explained above and is quasi a standard
  879.         feature among resident anti-virus programs.
  880.  
  881.         The other main part of NEMESIS works in the deep, if there are no
  882.         strange (viral) activities on your system, you should never get in
  883.         touch with it.
  884.  
  885.         It works this way:
  886.  
  887.         NEMESIS scans the whole harddisk and creates a sector-image of the
  888.         protected files.
  889.         Any (ANY) BIOS-level write access is analysed whether its destination
  890.         is a protected file. If so, you get a warning.
  891.         NEMESIS is the first program which implements this idea seriously in a
  892.         program, so there are not much experiences which could have helped to
  893.         reduce the number of false alarms.
  894.  
  895.         Let us show you the dilemma by a simple example:
  896.  
  897.         One feature of NEMESIS is to detect FAT-writes which don't come from
  898.         DOS.
  899.         Usually this should not happen, but maybe it does.
  900.         There are some programs which use some 'backdoors', which bypass
  901.         DOS sometimes, so you get an alarm and think: 'stupid soft,
  902.         what is going on ?'
  903.  
  904.         That's why we implemented all features optionally, which means you can
  905.         disable it (in the above case with parameter FAT=OFF), if you use
  906.         regularly software which bypasses the DOS-file-system (in the appendix
  907.         you can find a list of programs which may cause false alarms).
  908.  
  909.         SMARTDRV of microsoft-corporation is such a "bypassing"-software..
  910.         Therefore you have NOT FAT-PROTECTION with SMARTDRV !
  911.  
  912.         ====================================================================
  913.         THE SECTOR-LEVEL-WARNINGS IN DETAIL                              
  914.         ====================================================================
  915.  
  916.         ---------------------------------------------------------------------
  917.         'Attention !! Somebody is trying to manipulate the FAT directly !'
  918.         ---------------------------------------------------------------------
  919.  
  920.         This was already mentioned in the above example. If your software uses
  921.         some 'dirty tricks', you may get such a warning. How can you tell this
  922.         from a real alarm ? Difficult question.
  923.  
  924.         Probably the best is: let the write pass through (it is dangerous to
  925.         disable it ! You should have good reasons to do it), exit the current
  926.         program as fast as possible and do a 'chkdsk' over your partitions. If
  927.         everything is fine and you use the program which caused the warning
  928.         frequently, disable the FAT-protection with FAT=OFF if the warnings
  929.         disturb you. If you find lost or crosslinked clusters with 'chkdsk',
  930.         you know there was something wrong...my experience: put a program like
  931.         'mirror' (which saves your current FAT in a file) in your autoexec. If
  932.         your FAT gets destroyed, you can recover all data since the last
  933.         run of mirror by writing the file back onto the FAT !
  934.  
  935.         Possible other reasons for false alarms:
  936.  
  937.         - you use a cache-program with staged-write enabled.
  938.           If so, disable NEMESIS's feature to protect the FAT
  939.  
  940.         - you are running a program like compress or speeddisk which
  941.           reorgranizes your file-structure. In this case, press 'G' to disable
  942.           NEMESIS until the current program finished
  943.  
  944.  
  945.         ---------------------------------------------------------------------
  946.         'Attempt to write to a sector which belongs to a protected file !!'
  947.         ---------------------------------------------------------------------
  948.  
  949.         This should theoretically never occur ! It means DOS was bypassed and
  950.         someone tries to write directly to a protected sector.
  951.         Possible reasons:
  952.  
  953.         - you got a very intelligent virus which tries to infect files this way
  954.  
  955.         - NEMESIS got confused because you changed your file-structure heavily
  956.           (deleted/added executable files). NEMESIS should handle such changes
  957.           properly, but this was no easy code (there is no bugfree soft, as
  958.           you know)
  959.  
  960.         --------------------------------------------------------------------
  961.         " Attempt to change the dir-entry of <filename.ext> directly !"
  962.         --------------------------------------------------------------------
  963.         This is the first line of a message, that shows you, that a directory
  964.         entry should be changed DIRECTLY.
  965.         The kind of change will be displayed in a second line :
  966.  
  967.         --------------------------------------------------------------------
  968.         " kind of change : !! destroy directory !! "
  969.         --------------------------------------------------------------------
  970.         If the first byte of a dir-entry will be set to 0 (byte 0), then DOS
  971.         will stop reading thid directory at this position. Each entry, that
  972.         may follow, will never be read. The directory is destroyed.
  973.         Give your "ok" only, if you want to remove a directory.
  974.  
  975.         --------------------------------------------------------------------
  976.         " kind of change : DELETE /"
  977.         " kind of change : RENAME /"
  978.         " kind of change : SIZE /"
  979.         " kind of change : DATE/TIME /"
  980.         --------------------------------------------------------------------
  981.         Changeing the date/time of a file will always be allowed by NEMESIS.
  982.         Maybe you have a virus, that marks files as "infected" this way. Maybe
  983.         there is no virus at all. The change of this data doesn't matter.
  984.  
  985.         --------------------------------------------------------------------
  986.         "kind of change : CLUSTER /"
  987.         "kind of change : RESERVED AREA /"
  988.         --------------------------------------------------------------------
  989.  
  990.         Another critical warning. Possible reasons:
  991.  
  992.         - you are running a file-reorganizing program
  993.  
  994.         - you got an intelligent virus like DIR-2 which changes the first
  995.           cluster of executable files to itself.
  996.  
  997.         My advice: press Y and watch the displayed numbers carefully: the first
  998.         is the old cluster, the second the new one: if the new one remains the
  999.         same and there are many alarms, you can be sure that you have a virus
  1000.         like DIR-2. If the numbers differ each time, probably everything is
  1001.         fine (means you have detected a bug in NEMESIS)
  1002.  
  1003.         one remark to the above feature: if you prevent a cluster-change ,
  1004.         afterwards it may look as if it was written nevertheless.
  1005.         Don't care, it wasn't. But DOS thinks it was and displays wrong values.
  1006.         After the DOS-buffers are flushed (or the buffers of a cache-program)
  1007.         you will see that the cluster-entries are like before...
  1008.  
  1009.         To go sure I recommend a reboot after you deny such a change !
  1010.  
  1011.         ----------------------------------------------------------------------
  1012.         If you get BOTH warnings (first cluster AND reserved field) then your
  1013.         computer is most likely infected with a filesystem-virus (like DIR).
  1014.  
  1015.         In this case, you should RESET your computer at once and reboot from
  1016.         an original, write-protected system-diskette.
  1017.         Do not start any file from your harddisk.
  1018.  
  1019.         Start CHKDSK from this diskette and watch the messages. If there
  1020.         are NONE : No filesystem-virus. If there are a lot of cross-linked
  1021.         files and most of them are linked to the same cluster, then you most
  1022.         surely HAVE such a virus.
  1023.  
  1024.         ----------------------------------------------------------------------
  1025.         After the above warnings (and if you have denied to write) in most
  1026.         cases the critical error handler of DOS will pop up :
  1027.  
  1028.         "write failure on drive X: (a)bort (r)etry (i)gnore".
  1029.         This is ok. NEMESIS tells DOS that your HD has a bad track....
  1030.         ----------------------------------------------------------------------
  1031.  
  1032.         ----------------------------------------------------------------------
  1033.         For your information NEMESIS will display the current and future
  1034.         directory-entries.
  1035.         For example : If you rename NEMESIS.COM with NU.EXE it will look like
  1036.         this :
  1037.  
  1038. ------------------------------------------------------------------------------
  1039.  Attempt to change the dir-entry of NEMESIS.COM directly !
  1040.  Kind of change : RENAME / CLUSTER /
  1041. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  1042.           Current entry                new entry
  1043.  Name :   NEMESIS.COM                  NEMESIS.BOM              <name-fields>
  1044.  Attr :   Arc                          Arc                   <file-attribute>
  1045.  Time :   11.03.42                     11.03.42                   <file time>
  1046.  Date :   11.03.1993                   11.03.1993                 <file date>
  1047.  Clus :   4711                         4712                   <first cluster>
  1048.  Size :   45678                        45678                 <length of file>
  1049.  Res. :   0000:0000:0000:0000:0000     0000:0000:0000:0000:0000    <reserved>
  1050. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  1051. Request comes from C:\NORTON\NU.EXE
  1052. Adress 1234:5678
  1053. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  1054.                         Do you allow it ?                                     
  1055. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  1056.          <Y>es   : allowed                                                   
  1057.          <N>o    : not allowed                                            
  1058.          <D>eny  : alway "N"o , until program ends      
  1059.          <G>o    : alway "Y"es , until program ends      
  1060.          <A>bort : abort program immediately           
  1061.          <L>earn : always allow this program             
  1062. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  1063. ------------------------------------------------------------------------------
  1064.  
  1065.         ====================================================================
  1066.         Messages of transient NEMESIS before reading NEMESIS.BIN
  1067.         ====================================================================
  1068.  
  1069.         " Performing selftest,           please wait"
  1070.         " Performing pre-infection-test, please wait"
  1071.  
  1072.         " Pre-infection-test skipped : running from floppydisk"
  1073.         " pre-infection-test skipped : NEMESIS already resident"
  1074.         " Pre-infection-test skipped : running from network"
  1075.  
  1076.         If you start NEMESIS from diskette it will not perform a
  1077.         pre-infection-test. It takes to much time and can cause problems.
  1078.         Start NEMESIS from harddisk.
  1079.         If you start NEMESIS from a server-harddisk it may cause problems,
  1080.         too. So it will not perform a pre-infection-test from a server-hd.
  1081.  
  1082.  
  1083.         " NEMESIS IS DAMAGED OR INFECTED. ABORTED !"
  1084.  
  1085.         This means that NEMESIS has been changed in any way. If you did not
  1086.         pack it (f.e. with LZEXE) this means : Delete it. It will never run
  1087.         again. Otherwise UNPACK it !
  1088.  
  1089.         " could not change to NEMESIS-drive "
  1090.  
  1091.         Maybe the drive where you started NEMESIS is JOINed ?
  1092.         It should no longer be a problem, but if so : drop us a note.
  1093.  
  1094.         " NEMESIS : Could not perform selftest."
  1095.  
  1096.         Maybe you started NEMESIS from CD-ROM ? Or from a server-harddisk ?
  1097.         NEMESIS could for any reason not read its first sector from harddisk.
  1098.  
  1099.         " could not read tempfile for pre-infection-test"
  1100.  
  1101.         As described above NEMESIS creates two files, executes them and
  1102.         controls them.
  1103.         For any reason it could not read at least one of these files.
  1104.  
  1105.         " wrong version of NEMESIS in memory. ABORTED !"
  1106.  
  1107.         Since version 1.10 NEMESIS checks for compatibility-problems with
  1108.         older versions of NEMESIS. Delete the old version !
  1109.  
  1110.         " NEMESIS : cannot install. No free number for multiplex routine."
  1111.  
  1112.         NEMESIS needs one single free number of int 2Fh to exchange data
  1113.         between resident NEMESIS and NEMESIS.COM.
  1114.  
  1115.         " NEMESIS : ALT-key pressed. Abort installation ? <y/n>"
  1116.  
  1117.         If you hold the ALT-key immediately after starting NEMESIS you have
  1118.         the chance to abort it. Type "y" to abort, otherwise it continues.
  1119.  
  1120.         " Unknown DR-DOS version.  Aborted."
  1121.         " Unknown DOS or wrong version. "
  1122.         " NEMESIS needs at least DOS 3.3 to run. Aborted."
  1123.  
  1124.         NEMESIS is tested for PC-DOS 3.3,MS-DOS 5.0 and DR-DOS 5.0 and 6.0.
  1125.         If it detects an unknown DOS or DR-DOS it aborts.
  1126.  
  1127.         " DR-DOS with multitasker "
  1128.         " Run NEMESIS only in singletask !"
  1129.  
  1130.         NEMESIS cannot be run in TASKMAX.
  1131.  
  1132.         " Do not use LOADHIGH with NEMESIS !"
  1133.         " It's not necessary but can cause problems."
  1134.         " NEMESIS will load itself high, if ever possible."
  1135.  
  1136.         You typed "LOADHIGH NEMESIS".
  1137.         NEMESIS can load itself high and it does it better then LOADHIGH does.
  1138.  
  1139.         " Don't run NEMESIS with SIDEKICK.  Aborted."
  1140.  
  1141.         Sidekick grabs the keyboard and does not give it away anymore.
  1142.         If NEMESIS pops up inside Sidekick it cannot receive any key.
  1143.         See note below about "Sidekick".
  1144.  
  1145.         " NEMESIS cannot run within D'Bridge.  Aborted."
  1146.  
  1147.         This message appears if you start NEMESIS while dropping DB to DOS.
  1148.         NEMESIS is a terminate-stay-resident program. Don't start it inside
  1149.         any shell !
  1150.  
  1151.         " NEMESIS does not run with OS/2 yet.."
  1152.  
  1153.         You started NEMESIS in a DOS-window inside OS/2.
  1154.         Before NEMESIS hangs your window (or even OS/2) it aborts....
  1155.  
  1156.         " Loading messages from NEMESIS.BIN     "
  1157.  
  1158.         " NEMESIS : message-file NEMESIS .BIN not valid / not found. Aborted"
  1159.  
  1160.         NEMESIS.BIN is damaged or does not exist in the same path where
  1161.         NEMESIS is started from.
  1162.         If it is damaged then extract a new copy from your NEMESIS archive.
  1163.  
  1164.         ====================================================================
  1165.         Messages of transient NEMESIS after reading NEMESIS.BIN
  1166.         ====================================================================
  1167.  
  1168.         ----------------------------------------------------------------------
  1169.         "Not enough memory for re-scan !"
  1170.  
  1171.         You started NEMESIS with "ADD" but you have not enough free memory to
  1172.         perform a new scan. Type EXIT to leave the current shell....
  1173.  
  1174.         ----------------------------------------------------------------------
  1175.         " FAT-LEVEL-PROTECTION IS 'OFF' NOW !
  1176.           YOU SHOULD REBOOT AS SOON AS POSSIBLE"
  1177.  
  1178.         You started NEMESIS with "ADD" but you have not enough free memory to
  1179.         perform a new scan. This was not detected before the new scan started.
  1180.         Restart NEMESIS with "ADD" again after freeing memory (type EXIT).
  1181.  
  1182.         ----------------------------------------------------------------------
  1183.         Before NEMESIS starts its scan for protected files it will search for
  1184.         stacked drives. The following textline will be visible :
  1185.         " Searching compressed drives (Stacker,SSTOR)"
  1186.  
  1187.         If you see this line for longer then a tenth of a second then you
  1188.         probably have a network installed with absolute-sector mode.
  1189.         Wait, everything is alright.
  1190.  
  1191.         During the scan for protected files you probably will see the
  1192.         following message :
  1193.  
  1194.         " No cluster level protection possible on drive " <char follows>
  1195.         " Reason : drive is controlled by"
  1196.  
  1197.         the next line will contain either
  1198.  
  1199.         " SUBST/ASSIGN/JOIN/network or similar."
  1200.  
  1201.         or
  1202.  
  1203.         " SSTOR."
  1204.  
  1205.         See below about SUBST and STACKER. If you see the SUBST line and you
  1206.         have NO network then I, Robert Hoerner, would be interested what DOS
  1207.         you are using...
  1208.  
  1209.         ----------------------------------------------------------------------
  1210.         " too many partitions on your HD !!! "
  1211.  
  1212.         This message cannot appear but.... Then you would have more then 26
  1213.         partitions or in other words : NEMESIS contains a bug. Please inform
  1214.         us.
  1215.  
  1216.         ----------------------------------------------------------------------
  1217.         " No harddisk found.'
  1218.  
  1219.         Then you have either no harddisk or NEMESIS could not find it.
  1220.         You will not have any sector-level-protection except for bootsectors
  1221.         of diskettes.
  1222.  
  1223.         ----------------------------------------------------------------------
  1224.         " Error writing to EMS."
  1225.         " NEMESIS installing in conventional memory."
  1226.  
  1227.         This means NEMESIS found that the EMS pageframe could not be written
  1228.         directly (in other words : it behaves like ROM). This occurs with some
  1229.         older NEAT-boards and with EMM386 from Microsoft.
  1230.         Try NEMESIS EMS, if it works : put it in NEMESIS.CFG.
  1231.  
  1232.  
  1233.         ----------------------------------------------------------------------
  1234.         "Not enough EMS (few handles ?) to run NEMESIS in sector-level mode !"
  1235.         "However, the common viruses will still be detected ."
  1236.  
  1237.         You are "out of EMS-memory", but NEMESIS needs to hold its sector-data
  1238.         in EMS.
  1239.  
  1240.         ----------------------------------------------------------------------
  1241.         " Problem to read absolute sectors in upper memory !"
  1242.         " Requesting low memory for buffering."
  1243.  
  1244.         A part of NEMESIS will reside in upper memory but can not read sectors
  1245.         there. NEMESIS will request 512 byte from normal memory. Without this
  1246.         NEMESIS could not protect your directories.
  1247.  
  1248.         ----------------------------------------------------------------------
  1249.         " NEMESIS : SERIOUS FAILURE OF YOUR EMS-MANAGER !"
  1250.         " YOU SHOULD REBOOT ** AT ONCE ** !"
  1251.         " THERE IS A REAL DANGER TO LOOSE DATA !"
  1252.         " THIS IS NO JOKE !"
  1253.  
  1254.         NEMESIS cannot update data after a rescan. This comes due an error
  1255.         that occured inside your EMS-manager software.
  1256.  
  1257.  
  1258.         ====================================================================
  1259.         Messages of resident NEMESIS
  1260.         ====================================================================
  1261.  
  1262.         "NEMESIS : TRACER REJECTED"
  1263.  
  1264.         NEMESIS is hardcoded NOT to allow tracing of NEMESIS. So if any virus
  1265.         (or any other software) switches to singlestep and traces int 21h, for
  1266.         example, then NEMESIS will abort it.
  1267.  
  1268.         ----------------------------------------------------------------------
  1269.  
  1270.         "NEMESIS : EMS-FAILURE"
  1271.  
  1272.         NEMESIS detected a serious malfunction of your EMS-software and could
  1273.         not map its code into the pageframe. This message only comes, if
  1274.         NEMESIS uses EMS for its code. Everything is too late now, reboot.
  1275.  
  1276.         ----------------------------------------------------------------------
  1277.  
  1278.         "Error updating EMS-data"
  1279.  
  1280.         This error occurs if NEMESIS tries to update its data but fails.
  1281.         Your EMS-software is not compatible to EMS 4.0 (it does not fully
  1282.         support function 5700h ,move data from/to EMS ).
  1283.         Try to get another EMS-software and remove NEMESIS.
  1284.  
  1285.         ----------------------------------------------------------------------
  1286.         "Error reading harddisk"
  1287.  
  1288.         This error occurs if NEMESIS tries to read a sector to detect, wether
  1289.         a directory should be destroyed or not.
  1290.         This error should never be seen. If you see it, try NEMESIS LOW.
  1291.  
  1292.         ----------------------------------------------------------------------
  1293.         " NEMESIS : my code has been changed !"
  1294.         " Reboot your computer at once !"
  1295.         " Your drives are writeprotected now."
  1296.  
  1297.         This message appears only, if NEMESIS has been changed at runtime
  1298.         (after going resident). It's most likely that you have a virus.
  1299.  
  1300.         ----------------------------------------------------------------------
  1301.         " Attempt to format harddisk"
  1302.  
  1303.         This warning comes, if DOS was not informed about a format-command.
  1304.         The command will always be rejected.  The calling program will be
  1305.         informed that it tried to format a bad track and that it failed.
  1306.  
  1307.         ----------------------------------------------------------------------
  1308.         "                *** WARNING ***                   "
  1309.         " Attempt to trace int 13h has been rejected.      "
  1310.         " The current program has been aborted !           "
  1311.         " Access came from : " <adress inserted>
  1312.         " Some special interrupts has been restored.       "
  1313.         " All memory-resident programs, that you have loaded after NEMESIS"
  1314.         " without saving the new state may be unlinked now."
  1315.  
  1316.         You will get this warning with TBSCAN -D and with CALIBRATE.
  1317.         You will get this warning with a lot of viruses, too.
  1318.         Call NEMESIS TBSCAN=ON if the action is ok.
  1319.  
  1320.         ! See note below about CALIBRATE !
  1321.  
  1322.         ----------------------------------------------------------------------
  1323.         "numbers of DOS-buffers changed from <old number> to <new number>"
  1324.  
  1325.         " Select : <r>estore,        <s>ave,          <i>gnore"
  1326.  
  1327.         This is impossible without an external program that gives you new
  1328.         buffers but does not stay in memory, and some new viruses that
  1329.         reside in DOS-BUFFERS (not the same as Modem-Buffers....).
  1330.  
  1331.         !! NOTE : We had no chance to test, wether restoring works or not.
  1332.         !! In theory it works...
  1333.         ----------------------------------------------------------------------
  1334.  
  1335.         " BIOS-Memory Byte changed from " <old value> " to " <new value>
  1336.         " Select : <r>estore,        <s>ave,          <i>gnore"
  1337.  
  1338.         This occurs with VIDRAM and some viruses, that go resident without
  1339.         informing DOS, but reducing your system-memory.....
  1340.  
  1341.         ----------------------------------------------------------------------
  1342.         " Memory Control Block changed : <xxx> byte will be resident"
  1343.         " Select : <r>estore,        <s>ave,          <i>gnore"
  1344.  
  1345.         This occurs with VIDRAM, any terminate-stay-resident program and some
  1346.         viruses that attempt to be intelligent (cascade is an example).
  1347.  
  1348.         ----------------------------------------------------------------------
  1349.         "Memory Control Block destroyed."
  1350.  
  1351.         This normally means you have to reboot since your COMMAND.COM cannot
  1352.         be reloaded. NEMESIS gives this message, if the last memory control
  1353.         block (dos-internal data-structure) does neither start with "M" nor
  1354.         with "Z" and only, if you told it to "R"estore the old status after
  1355.         a memory control block has been changed.
  1356.  
  1357.  
  1358.         ----------------------------------------------------------------------
  1359.         " WARNING ! Your maximum DOS-memory has been reduced ! "
  1360.         " This may be a virus.                                 "
  1361.         " NEMESIS saved data from top-of-memory ( virus ? )    "
  1362.  
  1363.         If NEMESIS detects, that you have few memory after terminating a
  1364.         program then before it will write the data from new top-of-memory to
  1365.         old top-of-memory (normally 640KB) to NEMESIS.FIL for inspecting.
  1366.         If you called NEMESIS with NOSAVE it will not write this data.
  1367.  
  1368.         ----------------------------------------------------------------------
  1369.         " DOS-startcode has been changed !"
  1370.         " Select : <r>estore,        <s>ave,          <i>gnore"
  1371.  
  1372.         NEMESIS normally knows the first some byte of your DOS deep inside
  1373.         your computer. I have never seen them changing in the same session !
  1374.         But there are some "stealth"-viruses that change them.
  1375.  
  1376.         ----------------------------------------------------------------------
  1377.         " Number of DOS-Stacks has changed " <number follows>
  1378.         " Select : <r>estore,        <s>ave,          <i>gnore"
  1379.  
  1380.         Without special programs that may give you MORE stacks, this is
  1381.         impossible. If you have FEW stacks then you have a virus.
  1382.  
  1383.         ----------------------------------------------------------------------
  1384.         "Size of DOS-Stacks has changed. Cannot be restored."
  1385.  
  1386.         Take it as an information. It may be a virus and it may be normal.
  1387.         But most likely it's a virus.
  1388.  
  1389.         ----------------------------------------------------------------------
  1390.         "DOS-Stacks blocked."
  1391.         " Select : <r>estore,        <s>ave,          <i>gnore"
  1392.  
  1393.         This is possibly normal. Let NEMESIS restore the blocked stacks.
  1394.         If this message appears often then you might (!) have one of the
  1395.         newest viruses. But again : it is possible without any virus.
  1396.         If your computer "hangs" after unblocking then either you have a
  1397.         virus or NEMESIS has a bug.
  1398.  
  1399.         ----------------------------------------------------------------------
  1400.         " Attempt to format a track in drive X: DIRECTLY !!"
  1401.         " Attempt to write to a track in drive X: DIRECTLY !!"
  1402.  
  1403.         If you are formatting this drive , say "yes" else say "no".
  1404.  
  1405.  
  1406.         ----------------------------------------------------------------------
  1407.         " Attempt to modify the bootsector in drive " <char follows>
  1408.         " Attempt to modify the partitionsector in drive " <char follows>
  1409.  
  1410.         This message appears if the bootsector on diskettes or on drive C:
  1411.         should be changed or the masterbootrecord (partitionsector) on drive
  1412.         C: should be changed.
  1413.         This message appears only, if you did NOT allow to format a drive.
  1414.  
  1415.         ----------------------------------------------------------------------
  1416.         " Attempt to create  a protected file : " <filename.ext>
  1417.         " Attempt to modify  a protected file : " <filename.ext>
  1418.         " Attempt to delete  a protected file : " <filename.ext>
  1419.         " Attempt to replace a protected file : " <filename.ext>
  1420.         " Attempt to rename  a protected file : " <filename.ext>
  1421.  
  1422.         See information above.
  1423.         It's at your side to decide what shall happen on your computer.
  1424.  
  1425.         ----------------------------------------------------------------------
  1426.         " Program uses a DOS-internal handle : " <number follows>
  1427.  
  1428.         DOS uses 5 handles for internal purposes. It is absolutely unusual to
  1429.         use one of them to modify a disk-file. Answer "NO" or "DENY".
  1430.  
  1431.         ----------------------------------------------------------------------
  1432.  
  1433.         " Resident NEMESIS : FAKE ATTEMPT TO CHANGE MY STATUS RECEIVED !"
  1434.  
  1435.         This message comes only if NEMESIS was called from within any other
  1436.         program except NEMESIS.COM itself *and* this call was made to change
  1437.         the resident NEMESIS' state. Maybe you started an older version of
  1438.         NEMESIS, maybe there is a NEMESIS-virus ? Probably you started an
  1439.         older version of NEMESIS to change the resident NEMESIS.
  1440.  
  1441.         ----------------------------------------------------------------------
  1442.         " Program tries to set timestamp of file with second higher then 59."
  1443.  
  1444.         Some viruses mark files as "already infected" with setting the second
  1445.         of the last change to 62. NEMESIS will allow this (it's a serum).
  1446.  
  1447.         ----------------------------------------------------------------------
  1448.  
  1449.         " RESIDENT NEMESIS : EDDIE-2 (DARK AVENGER VIRUS) IS GOING TO GO
  1450.                              RESIDENT ! "
  1451.  
  1452.         NEMESIS received an invalid call to DOS that this virus performs.
  1453.         If you did not at the moment start an antivirus-program that possibly
  1454.         performed this call to detect this virus then :
  1455.  
  1456.         HIGH DANGER ! Switch off !
  1457.  
  1458.         If you start an older version of NEMESIS you may get this warning,
  1459.         too, since NEMESIS performs this call before going resident but ONLY
  1460.         if it did not detect that NEMESIS is already resident.
  1461.         Delete all old versions of NEMESIS !
  1462.         They contain bugs (as this version surely does) and they are
  1463.         inkompatible with the newer releases.
  1464.         Only use the newest NEMESIS !
  1465.  
  1466.         ----------------------------------------------------------------------
  1467.         " NEMESIS does not run with D'Bridge 1.50 "
  1468.         " NEMESIS does not run with Windows (tm). "
  1469.         " NEMESIS does not run with TASKMAX (DR-DOS)."
  1470.         " NEMESIS does not run with DOSSHELL."
  1471.         " NEMESIS does not run with DESQview."
  1472.         " NEMESIS does not run with older versions of NEMESIS."
  1473.  
  1474.         You started one of these programs and NEMESIS informs you about
  1475.         inkompatibilities. Remove NEMESIS bevor starting one of these
  1476.         programs (see below about inkompatibilities).
  1477.  
  1478.         ----------------------------------------------------------------------
  1479.         " You can not start NEMESIS in a windows-task."
  1480.         " You can not start NEMESIS in a DOSSHELL-task."
  1481.         " You can not start NEMESIS in a DESQview-task."
  1482.  
  1483.         You started NEMESIS while running one of these programs and NEMESIS
  1484.         informs you about inkompatibilities.
  1485.         ----------------------------------------------------------------------
  1486.         " Program called DOS with Non-DOS argument. Abort ? <Y>es <N>o "
  1487.  
  1488.         You called NEMESIS with "NOINVALID". Many programs call DOS with
  1489.         invalid arguments without being a virus. If you are sure that "this
  1490.         program" never behaved like this, then abort else continue.
  1491.         If you exit this program NEMESIS will check your system and inform
  1492.         you about changes.
  1493.  
  1494.         ----------------------------------------------------------------------
  1495.         " RESIDENT NEMESIS : I RECEIVED AN INVALID CALL, THAT PROBABLY COMES
  1496.                              FROM"
  1497.  
  1498.         You called NEMESIS with "NOINVALID". Many programs call DOS with
  1499.         invalid arguments without being a virus. Some antivirus-programs
  1500.         perform these calls, too, to detect these viruses. NEMESIS itself
  1501.         performs these calls before going resident to detect a pre-infection.
  1502.  
  1503.         The following viruses can be detected if you call NEMESIS with
  1504.         NOINVALID :
  1505.  
  1506.          eddie-2 (dark avenger) virus,
  1507.          tequila virus, dir virus, G-virus, shake virus, invader virus,
  1508.          699-virus, Plastique virus, Lozinsky virus, 789-virus,
  1509.          terror virus, diamond-a virus, diamond-b virus, dbase virus,
  1510.          flip virus, ontario virus, cascade (170x) virus, UMB-1,
  1511.  
  1512.         One special call is performed by FluShot and VirEx , two excellent
  1513.         virus-scanners and detectors but also by a virus :
  1514.         ----------------------------------------------------------------------
  1515.         NEMESIS will pop up and ask :
  1516.  
  1517.         "You're running FluShot or VirEx, aren't you ?"
  1518.         " Please answer 'y' or 'n' :"
  1519.  
  1520.         If you type "n" you will see :
  1521.  
  1522.         "Then your computer probably is infected with the 'PSQR/1720'- virus !"
  1523.  
  1524.         ----------------------------------------------------------------------
  1525.         " NEMESIS can give the 'correct' answer to prevent it from
  1526.         installation, but it's at your side to decide ( best is :
  1527.         ABORT IMMEDIATELY )"
  1528.  
  1529.         NEMESIS can give the correct answer for all the above viruses,
  1530.         so that the virus "thinks" it is already in memory and need
  1531.         not to go "again". If you type "y"es ,allowed, NEMESIS will
  1532.         give this answer and we will see wether it works or not.
  1533.  
  1534.         ----------------------------------------------------------------------
  1535.         " Program ended, but your system has been changed."
  1536.  
  1537.         The last program terminated without staying resident but some
  1538.         data in your computer has changed :
  1539.         NEMESIS checks for changes in
  1540.  
  1541.         - interrupts that are interesting for viruses
  1542.         - memory-size
  1543.         - memory control blocks
  1544.         - stacks (size and numbers of)
  1545.         - buffers (numbers of)
  1546.         - dos code
  1547.  
  1548.         In almost any cases you can "R"estore the old status, but there are
  1549.         some exceptions :
  1550.         Running D'Bridge 1.39 for example will always result in the above
  1551.         screen, since DB.EXE executes dbmailer.exe (it has another name today,
  1552.         but that's it) and if dbmailer.exe ends NEMESIS pops up. This is
  1553.         because DB.EXE hooks some interrupts. Tell NEMESIS to "i"gnore the
  1554.         changes, wait until DB.EXE has ended and if no further warning occurs,
  1555.         everything is ok.
  1556.  
  1557.         The problem is that NEMESIS does not hold its data on a "per program"
  1558.         base but on a "per computer" base.
  1559.  
  1560.         ----------------------------------------------------------------------
  1561.         " ATTENTION ! BUFFER TO WRITE HAS BEEN CHANGED !"
  1562.         " THIS IS VERY,VERY CRITICAL  ! YOU SHOULD ABORT AT ONCE !"
  1563.  
  1564.         This warning appears if NEMESIS detects any changes in data that
  1565.         should be written to protected files.
  1566.         It appears too, if the order of what should be written, has changed.
  1567.  
  1568.         Sometimes NEMESIS will popup without any changes in the write buffers,
  1569.         this is due some cache-programs like SMARTDRV that write as they like
  1570.         to and change the orders in microsofts special manner...
  1571.  
  1572.         ----------------------------------------------------------------------
  1573.         " Running SMARTDRV 4.0 from Microsoft can cause trouble with "
  1574.         " NEMESIS resident in memory."
  1575.  
  1576.         You started SMARTDRV.EXE (comes with windows 3.1).
  1577.         Be sure to GET trouble with SMARTDRV.EXE, with or without NEMESIS.
  1578.         See note below about "SMARTDRV".
  1579.  
  1580.  
  1581.  
  1582.         ====================================================================
  1583.         ERRORLEVELS of NEMESIS
  1584.         ====================================================================
  1585.  
  1586.         NEMESIS gives several ERRORLEVELS that can be used in batchfiles :
  1587.  
  1588.         1 : wrong or unknown operating system.
  1589.         2 : NEMESIS has been highloaded with LOADHI or LOADHIGH
  1590.         3 : no free number for data-exchange available.
  1591.             Checked int 2fh from 0c0h to 0ffh.
  1592.         4 : NEMESIS.BIN invalid or not found.
  1593.         5 : commandline-error or error in NEMESIS.CFG
  1594.         6 : multishell (windows, desqview etc) detected.
  1595.         7 : you tried to de-install NEMESIS before it was resident
  1596.         8 : NEMESIS denies a request for de-install
  1597.         9 : error reading harddisk during scan for protected files
  1598.        10 : dos-error during scan for protected files
  1599.       255 : NEMESIS is damaged or infected
  1600.  
  1601.  
  1602.         ====================================================================
  1603.         Appendix                                                         
  1604.         ====================================================================
  1605.  
  1606.         1. Known false alarms
  1607.            -------------------
  1608.  
  1609.         a) 'Attention ! Somebody is trying to manipulate the FAT directly !!'
  1610.  
  1611.         -   The FAT-protection should work without errors with DOS 3.3 and
  1612.             DOS 5.0; with DOS 4.01, there may occur false warnings.
  1613.             Add FAT=OFF in your command-line in this case.
  1614.  
  1615.         b) ' Attempt to modify a protected file '
  1616.  
  1617.         -  Older versions of D'Bridge, a mailer program, change at every start
  1618.            the current Commandline-interpreter (usually command.com) !!
  1619.  
  1620.  
  1621.         2. incompatibility list, hints, notes.
  1622.            -----------------------------------
  1623.  
  1624. INT2F:    Some terminate-stay-resident programs are intercepting the
  1625.           multiplex-interrupt 2F in the way that they perform a call to the
  1626.           previous handler first, then do their work and give control back to
  1627.           the original caller. If such a tsr is loaded AFTER NEMESIS it results
  1628.           in that NEMESIS does not accept any commands like "QUIT" or "ADD"
  1629.           any more since NEMESIS performs a strict check wether the caller is
  1630.           allowed to switch NEMESIS or not.
  1631.           It may happen with most "windows aware" tsrs.
  1632.           You have to remove this tsr first or to reboot. You cannot switch
  1633.           NEMESIS "off" or "on" either.
  1634.           What you can do is to call NEMESIS and have a look to the current
  1635.           state.
  1636.           This check is necessary, else any virus could switch NEMESIS "off".
  1637.  
  1638. KEYB.EXE: If you put NEMESIS into your AUTOEXEC.BAT be sure to put it AFTER
  1639.           KEYB.EXE. Otherwise NEMESIS will pop up, ask you wether you allow
  1640.           KEYB to stay in memory but cannot receive your answer (KEYB grabbed
  1641.           the keyboard).
  1642.  
  1643. SSTOR   :
  1644. STACKER :
  1645. NOVELL  : Will be detected and partition will not be protected.
  1646.           Sector-image not (yet) supported on non-DOS partitions (Novell e.g.)
  1647.           or compressed partitions (stacker, superstor).
  1648.           Under NOVELL NEMESIS forces internally NOT to initialize memory and
  1649.           NOT to set orphan interrupts to IRET.
  1650.  
  1651.           You may need to give SSTOR.SYS the command "/HIDMA" if NEMESIS
  1652.           resides in expanded memory. Otherwise your computer may reboot,
  1653.           if you are accessing a RAMDISK.
  1654.  
  1655. ASSIGN,SUBST,JOIN:
  1656.           NEMESIS unASSIGNs, unSUBSTs and unJOINs your harddisk on the fly,
  1657.           while it is performing its selftest and while it is scanning your
  1658.           harddisk for protected files. This is testet for MS-DOS 5.0, PC-DOS
  1659.           3.3 and DR-DOS 6.0. With other versions of DOS this may not work,
  1660.           then these areas are handled like STACKER-partitions and are not
  1661.           protected. NEMESIS will informed you if this problem occurs.
  1662.           After doing its work NEMESIS will re-ASSIGN re-SUBST and re-JOIN to
  1663.           the former state.
  1664.  
  1665. SECTORS : Cluster-level-protection works only with standard sector size
  1666.           (512 bytes)
  1667.  
  1668. CACHE   : You use a cache-program with staged-write enabled : then you'll
  1669.           get a lot of false alarms.
  1670.           DISABLE staged-write under any circumstances if you run NEMESIS !!
  1671.  
  1672. SMARTDRV: Especially with Smartdrv.sys you would get often false alarms like
  1673.           "Attempt to modify the FAT directly.."
  1674.           Therefore NEMESIS forces FAT=OFF if smartdrv is detected.
  1675.  
  1676.           Warning:
  1677.           --------
  1678.           especially smartdrv 4.0 is very critical as it uses staged-write
  1679.           as default. As one consequence, NEMESIS does not load its code
  1680.           into EMS to avoid the biggest trouble. But this does not solve
  1681.           all problems as smartdrv has its own philosophy about cooperating
  1682.           with other programs : none.
  1683.           This means : nothing can convince smartdrv NOT to flush in a
  1684.           critical moment. So we strongly recommend to disable staged-write,
  1685.           then NEMESIS and Smartdrv may work well together.
  1686.  
  1687.           Hint: if you use smartdrv 4.0 with staged-write and get a
  1688.           message from NEMESIS about direct writes to bootsector or an
  1689.           exe-file, you can either allow it or boot, forbid is not
  1690.           possible as in this case smartdrv comes up and rises a very
  1691.           intelligent question: 'data error, retry (R) ?'
  1692.  
  1693.           The number of choices is left as an exercise...
  1694.  
  1695.           Hint for the Germans: in the actual German version, they
  1696.           forgot to change the hotkey from 'R' to 'W' which did not
  1697.           keep them from printing in German: 'Datenfehler, Wiederholen (W) ?'
  1698.  
  1699. VIDRAM  : From Version 0.99 on it should be no problem for NEMESIS to load
  1700.           itself high even if VIDRAM is "ON".
  1701.  
  1702.  
  1703. GRAPHIC : Programs using graphics may get problems if there's a
  1704.           NEMESIS-warning. But at least the graphic data of mode 12h
  1705.           (Standard-VGA-graphics mode) is saved and restored, however it
  1706.           is possible that a textline from NEMESIS appears in your graphic.
  1707.           Other graphics modes are restored only partially...
  1708.  
  1709. SIDEKICK: from Borland
  1710.           Sidekick does not allow NEMESIS to receive keystrokes when it pops
  1711.           up inside Sidekick. The result is a "hang".
  1712.           Therefore NEMESIS tells Sidekick that it is already loaded and
  1713.           aborts if Sidekick is resident.
  1714.           Remove NEMESIS if you need Sidekick, remove Sidekick, if you need
  1715.           NEMESIS.
  1716.  
  1717. F-Prot:   VIRSTOP.EXE (included in F-Prot package) starts its work with
  1718.           switching the cpu into singlestep-mode.
  1719.           NEMESIS is hardcoded not to allow singlestepping through some
  1720.           interrupts interesting for viruses.
  1721.           So VIRSTOP will be aborted nearly at once.
  1722.           If you want to start it, remove NEMESIS from memory.
  1723.           Switching NEMESIS "OFF" is not sufficient.
  1724.  
  1725. MULTITASKER: (and what is called as...)
  1726.           NEMESIS is written originally as a "normal" program that intercepts
  1727.           some system-calls and notes how your system "looks like" if it is
  1728.           clean.
  1729.           We had much trouble with "multitaskers" and made a lot of changes
  1730.           in NEMESIS to make it "compatible".
  1731.  
  1732.           Our greatest problem at the end was, that NEMESIS makes changes,
  1733.           that all common multitaskers (like windows) let be "global changes",
  1734.           and these changes are absolutely necessary to protect you from
  1735.           virus-infection.
  1736.  
  1737.           This means : even if you start NEMESIS in a "window" and it installs
  1738.           itself as a single (local) task, the major changes, that NEMESIS
  1739.           *has* to make are GLOBAL changes.
  1740.           Therefore we stopped this attempt to unite, what cannot be united.
  1741.  
  1742.           This means especially :
  1743.  
  1744. DOSSHELL (MS-DOS 5.00) :
  1745. TASKMAX  (DR-DOS):
  1746. DESQVIEW:
  1747. WINDOWS : If you like to work with one of these, you have to remove
  1748.           NEMESIS.
  1749.  
  1750.           If one of these is running before you have started NEMESIS,
  1751.           then NEMESIS will not go resident.
  1752.  
  1753. VM/386:   NEMESIS works well under VM/386 (even stealth mode), but you
  1754.           should not use the parameter INIT.
  1755.  
  1756.  
  1757. BBS-SYSTEMS:
  1758.           Sysops of BBSs should not run NEMESIS in their BBS-task.
  1759.           But if they do so, they can use NEMESIS ONLY, if they give "BATCH"
  1760.           as a parameter ** AT STARTUP ** !
  1761.           Read what is written above about "BATCH" !
  1762.  
  1763.           They then have to "train" NEMESIS all their "good adresses" with
  1764.           "L"earning into file or have to switch NEMESIS "OFF" each time,
  1765.           when an action on protected files is ok, if you run "speedisk"
  1766.           in the night, or a user uploads a "VERYGOOD.EXE".
  1767.  
  1768.           Best is, however, NOT to use NEMESIS on BBS-systems.
  1769.  
  1770. D'BRIDGE: NEMESIS works well with D'BRIDGE 1.30 and 1.39 but does not work
  1771.           at all with D'BRIDGE 1.50 or 1.51.
  1772.           This is apparently due to changes in Ray Gwinns build-in FOSSIL.
  1773.           Therefore NEMESIS will tell DB 1.50 that it is already loaded and
  1774.           will not go resident, if D'Bridge is active.
  1775.           Remove NEMESIS before starting D'Bridge !
  1776.  
  1777. CALIBRATE:part of Norton Utilities.
  1778.           CALIBRATE uses the same technique as TBSCAN to get the BIOS-entry of
  1779.           your harddisk. So starting CALIBRATE with NEMESIS in memory will
  1780.           result in a warning and CALIBRATE will be aborted immediately.
  1781.  
  1782.           Do **NOT** switch NEMESIS to "TBSCAN=ON" but **REMOVE** NEMESIS
  1783.           completely ("NEMESIS QUIT") and reboot your computer if you want to
  1784.           run calibrate ! Otherwise you could LOOSE DATA !
  1785.  
  1786. ROMSCAN : We cannot protect you against viruses like "EDDIE", that
  1787.           directly scan for your ROM-entry of INT 13h.
  1788.           But we will solve this problem ! If you are using QEMM with
  1789.           "stealth"-ROMs, then this problem is already solved, NEMESIS will
  1790.           protect you (better : QEMM in conjunction with NEMESIS)
  1791.  
  1792.  
  1793. EMS.SYS : included with C&T-286-NEAT-mainboards :
  1794.           This utility creates expanded memory (EMS) for NEAT-boards.
  1795.           Due to a bug in this util it is not possible to run NEMESIS from
  1796.           this EMS (tested with such a NEAT-computer), so NEMESIS will switch
  1797.           internally to NOEMS. Don't force NEMESIS to use EMS with parameter
  1798.           "EMS" if you use this driver.
  1799.           NEMESIS will then use EMS for its data (sector-level-protection)
  1800.           but not for its code.
  1801.           But there is one more bug in ems.sys : If NEMESIS updates its
  1802.           internal FAT-structure from DOS-buffers that reside in upper memory
  1803.           then this driver always returns an errorcode that means "ems and
  1804.           conventional memory are overlapping", which is definitely wrong.
  1805.           If you do not load your BUFFERS high everything works fine else
  1806.           start NEMESIS with NOFAT.
  1807.  
  1808. EMM386.EXE: NEMESIS checks, whether it is possible or not to write into the
  1809.           page-frame. If it is not possible, it switches to NOEMS. With EMM386
  1810.           you may have to override this by giving "EMS" as a parameter at
  1811.           startup. There will be no problems with EMM386.EXE from Microsoft,
  1812.           but problems with EMM386.SYS of DR-DOS.
  1813.           If DR-DOS resides in the HMA EMM386.SYS reports errors with NEMESIS.
  1814.           Don't use "NEMESIS EMS" in this case.
  1815.  
  1816. BUSMASTER-DMA-Controller: (like ADAPTEC SCSI-Controller 1542B).
  1817.           NEMESIS may fail to read a sector if it is resident in upper memory.
  1818.           This may be due to a problem with DMA.
  1819.           If Nemesis detects this problem it will request a 512-byte-buffer
  1820.           in normal DOS-memory. There are no further problems.
  1821.  
  1822. NETWORK with absolute sector-modes : (as Kirschbaum-Link with param. ABS)
  1823.           If NEMESIS checks for stacker it has to perform int 25h with an
  1824.           invalid argument. With these networks it may need up to 5 seconds
  1825.           until the call is ended. (386,20MHz,ArcNet).
  1826.           This is normal, don't worry about a "hang".
  1827.  
  1828. LOADHI,LOADHIGH :
  1829.           From version 1.10 on NEMESIS does not allow to use an external
  1830.           LOADHI-command to load NEMESIS into upper memory.
  1831.           Instead the screen will be cleared, a message will appear,
  1832.           and NEMESIS stops immediately. NEMESIS loads itself high if ever
  1833.           possible (and if not forbidden by you).
  1834.  
  1835. STACKS  : You may need to insert a "STACKS=9,256" in your config.sys if
  1836.           you load many resident programs.
  1837.  
  1838. UNDELETE/UNFORMAT/QU.EXE etc
  1839.         If you DELETE a protected file and recover it with UNDELETE or any
  1840.         similar program, it is not further handled as protected on
  1841.         sector-level. This is due the fact that the NEMESIS internal-data has
  1842.         already been updated. It's protected on normal level, however.
  1843.         If you want to get sector-level protection again type NEMESIS ADD.
  1844.  
  1845.  
  1846. FONTS:  Programs, that define their own fonts to display text, will look
  1847.         strange after NEMESIS popped up.
  1848.  
  1849. RAMFREI:an utility, that allows to remove tsr-programs. It tries to clean your
  1850.         memory after NEMESIS is resident but doesn't find NEMESIS any more.
  1851.         Your computer instead hangs. NEMESIS LOW solves this problem.
  1852.  
  1853. DOS5.0: If you have "DOS=HIGH,UMB" in your config.sys then about 100 byte will
  1854.         be left in memory after NEMESIS loaded itself high. NEMESIS terminates
  1855.         and reqests 0 byte, but DOS gives it 100. What should we do ?
  1856.  
  1857.         --------------------------------------------------------------------
  1858.  
  1859.         ====================================================================
  1860.         Some explanations of terms :                                     
  1861.         ====================================================================
  1862.  
  1863.         INTERRUPT 21H
  1864.  
  1865.         Our computers all have little chips from INTEL company, that make them
  1866.         work. These chips are called "micro-processors" or CPU (central
  1867.         procesing unit). One feature of these cpus is, that their normal work
  1868.         (e.g. displaying a text on your screen) can be interrupted by software
  1869.         or hardware, causing the chips to save their current work, start and
  1870.         perform another job, and, if this new job has been finished, continue
  1871.         with the prior work at the same point where they have been
  1872.         "interrupted". These "interrupts" are numbered from 0 to 255, or in
  1873.         hex-numbers, from 0 to 0FFh.
  1874.  
  1875.         Interrupt 21h (= INT 21 (hex) = INT 33 (decimal) ) is used by
  1876.         application programs like Word, PcTools and all others, to invoke your
  1877.         DOS (disk operating system), if they want to access their files, to
  1878.         write to the screen, to print and so on.
  1879.  
  1880.         Since DOS gives any program access to any file, it seems clear that
  1881.         it gives viruses access to any file, too.
  1882.         So NEMESIS (as well as VSHIELD, F-PROT, TBSCANX and other resident
  1883.         scanners) has to catch and filter this interrupt, to see, what's going
  1884.         on in your computer. Resident scanners normally look for such
  1885.         functions that execute programs, open files and write to them,
  1886.         scanning the executed files for virus-marks.
  1887.  
  1888.         NEMESIS does not scan at all, but catches 33 functions of INT 21H for
  1889.         file-operations and 18 functions for well-known virus-calls.
  1890.  
  1891.         Yes, virus-calls, because some viruses first perform an individual
  1892.         call to int 21h, before they do anything. Then we will warn you
  1893.         (if you switched this feature "ON" (parameter is "NOINVALID").
  1894.  
  1895.  
  1896.         INTERRUPT 13H
  1897.  
  1898.         What is said about INTERRUPT 21H is valid for INT 13h, too, but INT
  1899.         13h is not called for file-operations (or screen-output) but it is the
  1900.         interface between your DOS and your harddisk.
  1901.         When you call INT 21h, you give the name of the file that you want
  1902.         to access.
  1903.         If you call INT 13h, you have to give the sector, track and head you
  1904.         want to acces.
  1905.         INT 13h does not know anything about files. A bootsector-virus, for
  1906.         example, accesses the bootsector of diskettes and harddisks. Since
  1907.         this is _not_ a file, it has to call INT 13h to infect your system.
  1908.         You cannot access the bootsector calling int 21h.
  1909.  
  1910.  
  1911.         FAT   (file allocation table)
  1912.  
  1913.         If you type "WIN + return" , then you are calling your
  1914.         command-interpreter, that it should load windows.
  1915.         How can it do this ? It tells DOS "LOAD WIN.COM".
  1916.         How can DOS do this ?
  1917.         DOS looks in the current directory for the name "WIN.COM"
  1918.         Not found.
  1919.         It looks in the "PATH"-directories for WIN.COM.
  1920.         Found.
  1921.         It looks in the directory-entry for the first cluster of this file
  1922.         "WIN.COM" (you cannot see this field, if you type "dir").
  1923.         Then it looks in the file-allocation-table for the next entry, for the
  1924.         following and so on. The FAT contains the number and sequence of all
  1925.         (!!) your files. If this FAT is damaged, it's like a very large book
  1926.         without an index, and with pages randomly exchanged.
  1927.         You cannot access files, whose FAT-entries are destroyed since nobody
  1928.         knows, where they physically reside on your harddisk.
  1929.  
  1930.         CLUSTER / SECTOR
  1931.  
  1932.         Your harddisk is like a music-disk : it contains songs (= files) but
  1933.         cannot sing. As on music-disks it just contains tracks, where your
  1934.         computer "printed" its files. Since some files are very short, it
  1935.         seemed to be a good idea to divide these tracks into smaller parts.
  1936.         We call these parts "sectors", this means "parts of a circle".
  1937.         So if a small file is saved , maybe it needs 1 or 2 sectors, and not
  1938.         the whole track. That's why you can save 10 or more files on the same
  1939.         track (better said : YOU save files, but DOS saves these files in
  1940.         your harddisk's sectors).
  1941.  
  1942.         A sector contains 512 byte. On diskettes a sector normally is the same
  1943.         as a cluster.
  1944.  
  1945.         If each sector of a 100 MB harddisk would have an entry in the FAT
  1946.         then the FAT would have to contain 100*1024*1024/512 entries.
  1947.  
  1948.         This are 204800 entries.
  1949.  
  1950.         A very large number, and you would need 3 BYTE to display this number.
  1951.         (and you have TWO FATs).
  1952.  
  1953.         Since this is not very intelligent (think about, that most programs
  1954.         need more then 1 sector on your harddisk), it is handled in a special
  1955.         way : 4 or more sectors on your harddisk are numbered as "clusters".
  1956.         Lets take the above example : you have 204800 sectors.
  1957.         Then (if 4 sectors are handled as one cluster) you have 51200 cluster,
  1958.         containing 204800 sectors. To number 51200 clusters you would need
  1959.         2 byte, so your FAT-size would be 51200*2 byte = 102400 Byte.
  1960.  
  1961.         Two FATS = 204800 byte.You saved 2*(614400-102400) = 1024000 byte.
  1962.  
  1963.         This is an argument for clusters, isn't it ?
  1964.  
  1965.         There are viruses (some Bulgarian..) that randomly write to any
  1966.         clusters, wether they contain data, programs , directories or nothing.
  1967.         They do not call DOS for this (see "INTERRUPT 21H") since DOS can only
  1968.         access files.
  1969.         To protect your files from being corrupted by these viruses it is
  1970.         necessary to protect the clusters of these files directly.
  1971.  
  1972.         ----------------------------------------------------------------------
  1973.         SMARTDRV,WINDOWS     is (tm) of Microsoft
  1974.         VIDRAM,QEMM,DesqVIEW is (tm) of Quaterdeck
  1975.                       others are (c) and (tm) of others.
  1976.         ----------------------------------------------------------------------
  1977.         SPECIAL THANKS to Ralf Brown and his team for the interrupt-list !
  1978.         ----------------------------------------------------------------------
  1979.         This documentation as well as the other files included with NEMESIS
  1980.         are subject to change without notice.
  1981.         There is no warranty of completeness and correctness.
  1982.         ----------------------------------------------------------------------
  1983.         Have fun!                     And register your copy of NEMESIS soon !
  1984.  
  1985.         Email-adresses :
  1986.  
  1987.         Robert Hoerner  , Fido 2:241/7518
  1988.         Christian Sy    , Fido 2:241/7516.1
  1989.  
  1990.         Karlsruhe, Germany, January 1993, Robert Hoerner & Christian Sy
  1991.         ----------------------------------------------------------------------
  1992.  
  1993.