home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / pc / CCTX0198.ZIP / VAUPDAT2.ZIP / DECOM.ZIP / RVK.DOC < prev   
Encoding:
Text File  |  1997-08-10  |  11.7 KB  |  267 lines

  1.  
  2.         RVK: ROSE Virus Killer - a generic virus remover for COM files
  3.     ──────────────────────────────────────────────────────────────────────
  4.  
  5.  
  6.          Written and (C)opyright 1992-97 by ROSE Softwareentwicklung,
  7.           Dipl.-Ing. (FH) Ralph Roth, Finkenweg 24, D 78658 Zimmern
  8.  
  9.  
  10.  
  11.  
  12.       ─══[  1 SYNOPSIS  ]══════════════════════════════════════════════─
  13.  
  14.  
  15.        This is  a utility  that will step through a polymorph (MtE, NED,
  16.        DSME, DSCE,  ViCE, TPE,  SPE, G2, PS_MPC...) decryptor or just an
  17.        ordinary (unencrypted)  virus and  decrypts and  cleans the virus
  18.        from the  infected file.  This process will restore the host pro-
  19.        gram, disable the virus and cut parts out off the virus. RVK then
  20.        terminates before executing the virus!
  21.  
  22.  
  23.  
  24.       ─══[  2 ABOUT THE PROGRAM  ]═════════════════════════════════════─
  25.  
  26.  
  27.        This program  is useful if you have an infected file and you want
  28.        to remove  the virus. Just clean it using RVK, then check the re-
  29.        sulting file.  RVK isolates viral code in an infected program and
  30.        disables it.  From then  on it  will be  safe to  use the program
  31.        again, as the risk of other files being infected or damaged by it
  32.        will have been securely disabled.
  33.  
  34.  
  35.  
  36.       ─══[  3 ABOUT THE CLEANING PROCESS  ]════════════════════════════─
  37.  
  38.  
  39.        RVK works  completely different  compared to  the  'conventional'
  40.        cleaners. First  of all, it does not recognise any particular vi-
  41.        rus. However  RVK is aware of many tricks used by common viruses.
  42.        Its disinfection  scheme is  therefore completely  different from
  43.        known cleaners  and it  works with  almost any  (COM) virus. This
  44.        technique is  called heuristic  cleaning mode!  In that  cleaning
  45.        mode RVK  does not need any information about viruses either, but
  46.        it has  the added  advantage that it does not even care about the
  47.        original, uninfected  state of  a program.  This cleaning mode is
  48.        very effective if your program is infected with an unknown, a po-
  49.        lymorphic or with a virus using 80386+ instructions!
  50.  
  51.        Note that this does not imply that the cleaned file is 100% equal
  52.        to the  original one.  When RVK uses heuristic cleaning to disin-
  53.        fect the  program, the  file will never be exactly the same as in
  54.        its original  state. This is not an indication of failure of RVK,
  55.        nor does it mean the file is still infected in some way. First of
  56.        all, it is normal that the heuristic cleaned file is still larger
  57.        than the  original one. This is normal because RVK tries to be on
  58.        the safe  side and  it will avoid removing too much from the host
  59.        program. The  bytes left  at the end of the file are 'dead' code,
  60.        the instructions  will never  be executed again, since the 'jump'
  61.        at the  beginning of the program has been removed. The functiona-
  62.        lity of  the cleaned file will nevertheless be the same! For this
  63.        reason a  virus scanner MAY find still the virus in cleaned files
  64.        - or will now report a new variant of this virus (F-Prot)!
  65.  
  66.        In the heuristic mode, RVK loads the infected file and starts em-
  67.        ulating, simulating  and tracing  the program  code to  find  out
  68.        which part  of the file belongs to the original program and which
  69.        to the  virus. The  result is  successful if the functionality of
  70.        the original  program is  restored, and  the functionality of the
  71.        virus has  been reduced  to zero.  When used, RVK will attempt to
  72.        follow the  execution of the program until the end of the decryp-
  73.        tor or  if the  original entry point is restored by the virus! It
  74.        will not execute dangerous interrupt calls, and will terminate if
  75.        one is  encountered. Some interrupt calls will be simulated, some
  76.        emulated, a few will be executed (e.g. "get DOS version" or virus
  77.        installation check)  and some will be removed! It also terminates
  78.        if DS  and ES  change, or if a far call is encountered. THIS DOES
  79.        NOT ABSOLUTELY  GUARANTEE SAFETY  WHEN RUN!  The viruses  I  have
  80.        tested RVK  on are over 600 COM infectors! One possible time when
  81.        RVK may  go to  pass the  cleaning process is when the virus does
  82.        not actually restore the host program - instead trying to go res-
  83.        ident or  to infect  other victims. Please send me any virus that
  84.        can not  be killed  with RVK!  If possible  I will improve RVK to
  85.        clean this virus too.
  86.  
  87.  
  88.  
  89.       ─══[  4 MULTIPLE INFECTIONS AND ANTIDEBUGGING TRICKS  ]══════════─
  90.  
  91.  
  92.        It is  possible that  the infected file is infected with multiple
  93.        viruses, or  multiple instances  of the  same virus! Some viruses
  94.        keep on infecting files, and in such case the infected files will
  95.        keep growing  (e. g.  Jerusalem). It  is very likely that RVK re-
  96.        moves only  one instance of the virus. In this case, it is neces-
  97.        sary to repeat the cleaning process until RVK reports that it can
  98.        not remove  anything any more. Remember that you cannot clean COM
  99.        files protected  with PROTECT  or HackStop  due to  the fact that
  100.        this code uses antidebugger techniques. You can remove safely en-
  101.        cryption added  by SCRAMBLE,  CRYPTCOM or R-Crypt instead! By the
  102.        way, RVK  can by-pass  the most anti-debugger tricks found in ex-
  103.        isting viruses, packers and scramblers!
  104.  
  105.  
  106.  
  107.       ─══[  5 A LITTLE WARNING  ]══════════════════════════════════════─
  108.  
  109.  
  110.        This is  a prototype version, and is NOT IN ANY WAY GUARANTIED! I
  111.        am only  releasing this program because to this date nothing else
  112.        seems to be able to do this (apart from TBCLEAN). This will allow
  113.        anyone to  be able to disinfect COM files. As an advantage RVK is
  114.        not limited  to 8086  code, it will even clean viruses which will
  115.        use 80586+  instructions (remember: you CAN NOT CLEAN 386 code on
  116.        a 286  machine)! Send  me ANY  virus that could not be cleaned by
  117.        using RVK!
  118.  
  119.       ─══[  6 LEGAL TERMS AND DISCLAIMER  ]════════════════════════════─
  120.  
  121.  
  122.        RVK basically  has no  legal guarantee  and warranty because I do
  123.        not want to get sued over it, and should be used "as is". Here is
  124.        the official disclaimer:
  125.  
  126.        RVK ("program")  will ALTER  and DESTROY executable files and may
  127.        have or  cause compatibility  problems with them (that is why YOU
  128.        should keep a backup file, in case of incompatibility with a par-
  129.        ticular file)  in certain  circumstances. Under  no circumstances
  130.        may Ralph  Roth ("author")  be held liable or accountable for any
  131.        damage to  system files,  executable files,  data files,  or  any
  132.        other system  or data damage due to use or misuse of his program.
  133.        The author  also may  not be held accountable for loss of profits
  134.        or for  any other  damages incurred  by the  use or misuse of his
  135.        program. The author has forewarned any users that damage to files
  136.        may occur with use or misuse of his program, and in executing the
  137.        program, the  user fully  understands these  risks and  this dis-
  138.        claimer.
  139.  
  140.  
  141.  
  142.        Greetings (and virus free time)
  143.  
  144.            Ralph Roth
  145.  
  146.  
  147.        You can  obtain the  newest DECOM  & RVK version from (please add
  148.        some money for disc and shipping!) - see ROSE_BBS.TXT
  149.  
  150.  
  151.  
  152.  
  153.       ─══[  7 HISTORY  ]═══════════════════════════════════════════════─
  154.  
  155.  
  156.  
  157.       7.1 Version 0.01-0.05
  158.  
  159.       Now RVK  prompts you  only for  a filename _IF_ the virus has been
  160.       safely decrypted  or disabled!  This means  although, that you can
  161.       now overwrite the old file at your own risk. RVK no emulates a lot
  162.       of MS-DOS  calls to  handle many more viruses! "Anti Debugger Code
  163.       Handling" improved!
  164.  
  165.  
  166.       7.2 Version 0.10
  167.  
  168.       RVK can  now be  invoked via commandline else you will be prompted
  169.       for a  source file!  RVK now  truncates (most  of) the virus-body,
  170.       therefore check the resulting file carefully!
  171.  
  172.  
  173.       7.3 Version 0.11
  174.  
  175.       Added more code checking in order to clean the Annihilator Stealth
  176.       viruses. RVK displays now information about the cleaned file. Some
  177.       (dangerous) instructions  are now  additionally  overwritten  with
  178.       NOP's, therefore check your cleaned files carefully!
  179.  
  180.  
  181.       7.4 Version 0.13
  182.  
  183.       Added more anti-debugging tricks checking. Tested with over 50 new
  184.       viruses.
  185.  
  186.  
  187.       7.5 Version 0.20 (March 95)
  188.  
  189.       Added a  software emulator  that is  able to emulate INT calls and
  190.       most  anti  debugger  tricks  without  loosing  control  over  the
  191.       program! RVK  can now handle almost all files, except some special
  192.       anti debugging code. Furthermore the handling of infected files is
  193.       now safer, more reliable and more successful than ever before!
  194.  
  195.       7.6 Version 0.21 (April 95)
  196.  
  197.       My FAX  number has changed! Little code enhancements to clean more
  198.       viruses!
  199.  
  200.       7.7 Version 0.22 (June 95)
  201.  
  202.       The program  is now  able to  by-pass some  IN/OUT  commands.  The
  203.       package now  includes an  alpha version  of the  heuristic scanner
  204.       "RPCATCH".
  205.  
  206.       7.8 Version 0.23 (December 95)
  207.  
  208.       Fixed some orthographical errors in RVK.COM.
  209.  
  210.       7.9 Version 0.24 (February 96)
  211.  
  212.       The code  emulator can  now handle  the POP  SS/POPF  antidebugger
  213.       trick. Credits  goes to  L. Vrtik & J. Valky for pointing out this
  214.       trick, as well as supplying me sample code.
  215.  
  216.       7.10 Version 1.20 (March 96)
  217.  
  218.       Added the handling of 386++ commands. For this reason you will
  219.       need at least a 386 SX to run the program! Changed the version
  220.       number to 1.20 (now the same as DECOM). The code emulator can now
  221.       handle another antidebugger trick. Credits goes to L. Vrtik & J.
  222.       Valky for pointing out this trick, as well as supplying me sample
  223.       code. Excluded the RPCatch program from the package.
  224.  
  225.       7.11 Version 1.21 (March 96)
  226.  
  227.       The code emulator can now handle another antidebugger trick.
  228.       Credits goes to L. Vrtik & J. Valky for pointing out this trick,
  229.       as well as supplying me sample code. Added the "TBClean Bug" from
  230.       VLAD #6 to the emulator, as well as another antidebugger trick
  231.       found in the GOL-Wanted virus, which hinder RVK to clean infected
  232.       files. Credits goes for this goes to Martin Roesler.
  233.  
  234.       7.11 Version 1.22 (April 96)
  235.  
  236.       The code emulator can now handle GS: and FS: segment override anti
  237.       debugging tricks. Credits goes to L. Vrtik & J. Valky for pointing
  238.       out this trick, as well as supplying me sample code. Added the
  239.       handling of protected mode debugging tricks, using the CR and DR
  240.       registers.
  241.  
  242.       7.12 Version 1.23 (July 96)
  243.  
  244.       The code emulator can now handle the PUSHFD/POPFD anti debugging
  245.       trick and other 32 bit anti debugger tricks. Credits goes to
  246.       Rand0m^X-Adi for pointing out this trick.
  247.  
  248.       7.13 Version 1.24 (December 96)
  249.  
  250.       Minor small bugfixes. Fixed some typos in the DOC. Added an
  251.       interrupt 3 emulator. Added code to handle anti-emulator code
  252.       found in the Grief.3584 and ANNI-VCS viruses. Now the program
  253.       displays the last IP Counter, the AX value and the opcode of the
  254.       latest instruction if the emulating process failed. This is useful
  255.       to find out why and where the emulations process has been
  256.       interfered.
  257.  
  258.  
  259.  
  260.     ──────────────────────────────────────────────────────────────────────
  261.  
  262.            Please excuse my English, it is not my native language!
  263.  
  264.  
  265.                                               ANY IMPROVEMENTS WELCOMED!
  266.  
  267.