Category : Miscellaneous Language Source Code
Archive   : STLTH22.ZIP
Filename : TESTVIR.C

 
Output of file : TESTVIR.C contained in archive : STLTH22.ZIP
/*
testvir.c
Stealth Bomber Version 2.2

Kevin Dean
Fairview Mall P.O. Box 55074
1800 Sheppard Avenue East
Willowdale, Ontario
CANADA M2J 5B9
CompuServe ID: 76336,3114

February 10, 1992

Files required: TESTVIR.C, VIRCHECK.H, SYSCHECK.C, DOSMCB.H, DOSMCB.C,
FILECHCK.C, CALCCRC.C, BUFALLOC.C

This program demonstrates the anti-virus CRC algorithms in SYSCHECK.C
and FILECHCK.C. The response to error codes is entirely up to the programmer.

To set the CRC for this program and its supporting files, the command
is:

crcset -p testvir.exe testvir.obj -d crc.dat testvir.c

This code is public domain.
*/


#include
#include

#include "vircheck.h"


const char *fn[3] =
{
"TESTVIR.EXE", "TESTVIR.OBJ", "TESTVIR.C"
};

/* Normally this would be defined by changing STEALTH_NFILES in VIRUSDAT.C to
3; it has not been done that way for this program as this is a sample file
only. */
const filecrc _fcrc[3] =
{
{
'_', 'S', 'T', 'E', 'A', 'L', 'T', 'H'
}
};


/***/
int main(int argc, char *argv[])
{
unsigned sysresult, fileresult;
int errfound = 0;
FILE *crcfile;
int i;

/* Check system. */
sysresult = stealth_sys_check();

if (sysresult & STEALTH_INTR_ERR)
fputs("System interrupts have been set beyond current code space. This may indicate\n"
"the presence of a virus in system memory.\n", stderr);
if (sysresult & STEALTH_DOS_MEM_ERR)
fputs("Memory reported by DOS is inconsistent with memory reported by BIOS. This may\n"
"indicate the presence of a virus in system memory.\n", stderr);
if (sysresult & STEALTH_DOS_HIJACKED)
fputs("A DOS interrupt has been covertly redirected by another program. This may\n"
"indicate the presence of a virus in system memory.\n", stderr);
if (sysresult)
{
fputc('\n', stderr);
errfound = 1;
}

crcfile = fopen("crc.dat", "rb");
if (crcfile)
{
fread(_fcrc + 2, sizeof(_fcrc[2]), 1, crcfile);
fclose(crcfile);
}
else
fputs("Error opening CRC.DAT file.\n", stderr);

/* Check all files. */
for (i = 0; i < 3; i++)
{
if (i || _osmajor < 3)
fileresult = stealth_file_check(fn[i], _fcrc[i]);
else
/* Check main program. */
fileresult = stealth_file_check(argv[0], _fcrc[i]);

if (fileresult & STEALTH_FILE_ERR)
fprintf(stderr, "Error accessing %s for CRC check.\n", fn[i]);
if (fileresult & STEALTH_FILE_DATE_ERR)
fprintf(stderr, "Date stamp error on file %s. This may indicate the presence of a\n"
"virus in the file. Please take appropriate steps to secure your computer from\n"
"further possible infection.\n", fn[i]);
if (fileresult & STEALTH_FILE_SIZE_ERR)
fprintf(stderr, "File size error on file %s. This may indicate the presence of a\n"
"virus in the file. Please take appropriate steps to secure your computer from\n"
"further possible infection.\n", fn[i]);
if (fileresult & (STEALTH_CRC_BAD_POLY | STEALTH_CRC_INVALID))
fprintf(stderr, "CRC error on file %s. This file has been tampered with and may be\n"
"infected by a computer virus. Please take appropriate steps to secure your\n"
"computer from further possible infection.\n", fn[i]);
if (fileresult & STEALTH_NO_MEM)
fprintf(stderr, "Insufficient memory to run CRC check on file %s.\n", fn[i]);
if (fileresult)
{
fputc('\n', stderr);
errfound = 1;
}
}

if (!errfound)
puts("No viruses found.");

return (0);
}


  3 Responses to “Category : Miscellaneous Language Source Code
Archive   : STLTH22.ZIP
Filename : TESTVIR.C

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/