THD ProScan Version 9.0 introduced a number of new features. Unfortunately, this also means the introduction of a number of new data files. Some of the newer features require you (the user) to create text files. Unfortunately the "form" of these text files is not entirely simple. This text will attempt to give a reasonable explanation of the various files. I only hope that some of you understand this explanation well enough to assist others in your area. All user created files discussed in this text will follow the following convention unless otherwise specifically noted. ONE ENTRY PER LINE. ALL CAPITAL LETTERS. EVERY LINE TERMINATES WITH A "HARD RETURN". (Ansi drawings are, of course, exceptions to these rules by definition.) Covered in this text are... THE HACK LIST THE COMMENT LIST DATE AND TIME IN COMMENT THDPRO.CRC (THE CRC LIST) THDPRO.AN? PAINSOFT.AN? PAINSOFT.ANS THE HACK LIST ------------- The "hack list" as explained in THDINSTL is a list of file names which you do not want tested by THDPRO.EXE. This is the simplest of the lists to create. This list will be a plain text file with one filename per line with no extension or ".". It may contain as many entries as you like. The "official" HACKLIST "COL" and/or "IDX" files can be used as they are without modification. Or you may create your own or add to those lists in the following manner. One "filename only" per line in capital letters followed by a hard return. The following would be acceptable. VIRUS PKZIP2 GARBAGE BS If the above were your list, then THDPRO.EXE would reject any file called "VIRUS" regardless of it's extension. So VIRUS.ZIP, VIRUS.TXT, VIRUS. and VIRUS.ARJ would all be rejected. Likewise with the other names entered above. THE COMMENT FILE ---------------- THD ProScan version 9.0 can randomly select a file comment from a list of files. This SAME list can also cause files in certain areas to be given a specific comment. This will be useful for persons who wish to emphasize certain aspects of their BBS. You could for instance cause all files in your "programming" area to be marked with a comment file that tells people about your "Programming" conference and guidelines. Or perhaps you allow free download of BBS utilities and want to insert a comment in those archives to let people know that BBS Utilities are free on your BBS. Whatever your reason. the method is as follows. To cause THDPRO.EXE to insert a specific comment in a specific area, you must select in THDINSTL to use a "list" of file comments. You must then create that list. In our example the file will be called "COMMENT.LST". A "specific" comment line in this file will consist of... "IF" {QUALIFIER} {COMMENT} [note that the entire line must be capital letters] A "qualifier" is a string of text which will be looked for in the path to the file being tested. It need not match the path exactly... But rather if the "qualifier" is contained in the path then it will be considered a match. As an example. "C:" as qualifier would match every file in every directory on drive "C". (Since the text "C:" would be found in the path to any file on that drive). "C:\BBS" as a qualifier would match any file found in the "C:\BBS" directory or any of it's subdirectories. And "C" as a qualifier would match EVERY path that has a "C" anywhere in it. A random comment will only be used when a matching qualifier is not found. To use ONLY random comments, simply make a list of headers with no "IF" or {QUALIFIER}. Sample "COMMENT.LST" IF C:\BBS\DLS\PROGUTIL C:\HEADERS\UTILHEAD.TXT IF C:\BBS\DLS\BBSUTIL C:\HEADERS\BBSHEAD.TXT IF C:\BBS\NORATIO C:\HEADER\FREE.TXT IF C: C:\HEADERS\BBSAD.TXT IF D:\MYUTILS C:\HEADERS\MYHEAD.TXT IF D:\SYSOP C:\HEADERS\PERSONAL.TXT C:\HEADERS\RANDOM1.TXT C:\HEADERS\RANDOM2.TXT C:\HEADERS\RANDOM3.TXT C:\HEADERS\RANDOM4.TXT C:\HEADERS\RANDOM5.TXT C:\HEADERS\RANDOM6.TXT C:\HEADERS\RANDOM7.TXT C:\HEADERS\RANDOM8.TXT C:\HEADERS\RANDOM9.TXT C:\HEADERS\RANDOM10.TXT In the list above, the "IF"'s, qualifiers, and headers are separated in a column arrangement so that you can better distinguish them. This is for your benefit and is not required. They must be separated by at least a single space (although a column arrangement as shown above will also be acceptable as long as the entries are separated by "spaces", not by "tabs"). The "IF" statements must ALL be before the random selection list. The lines without "IF" statements are comments which are to be chosen from at random when there are no matching qualifiers. When looking for a comment, THDPRO.EXE will look for the FIRST matching "qualifier" (that is the text following the "IF" statement above). In this regard a "match" is any qualifier which can be found in the path of the file being tested. If the qualifier is contained in the path to the file to be tested, THDPRO.EXE will stop looking for a comment and use the first match. In the above example you will notice that "C:" (the qualifier for the fourth line) is contained in each of the first four qualifiers. IF it were put as the first line, then THDPRO.EXE would use "C:\HEADERS\BBSAD.TXT" for every file on drive "C". Since "C:" would be found in any file in "C:\BBS". So in this respect you must make sure that the order in which you place the qualifiers will not conflict with any later qualifiers. That is ... a qualifier must NEVER fully contain a qualifier which appears before it in the list. (ie. "C:\BBS\TEST" must appear before "C:\BBS" in the list). IF THDPRO.EXE cannot find a matching qualifier it will chose at random a comment from the entries appearing without "IF" statements. IF the comment chosen does not exist. THDPRO.EXE will insert the comment from the very first line in the list (even if it has an "IF" statement). IF the comment from the first line does not exist, no comment will be added. The list is considered complete if a blank line is found, so no blank lines should be in the list. If there is a blank line in the list, all text following the blank line will be ignored. The best "simple" method I can give for ensuring the correct order of "IF" statements is to put them in alphabetical order from BOTTOM TO TOP. (that is... in reverse alphabetical order). Many word processors can do this for you quickly and easily. And remember that the "IF" statements go first and the order of the random comments is unimportant except that they be after ALL "IF" statements. GOOD LUCK. DATE AND TIME IN FILE COMMENT ----------------------------- A user asked if THD ProScan could allow the date and/or time of testing to be input into the file comment. Therefore in addition to the comment features mentioned above, THDPRO.EXE will "examine" the comment file before using it. IF it finds the text "%DATE%" or "%TIME%" in the file comment itself, the file will be copied to a temporary file and the "%DATE%" and/or "%TIME%" will be replaced by the actual date and/or time. Note that the %DATE% and %TIME% must be capitalized. This option will work no matter by what method the comment file is chosen. So the following file comment would appear in the finished archive as the second one following. File comment as it exists on disk... ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÛÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¸Û This archive was tested using THD ProScan Ver 9.0 Û³ THD PROSCAN ³Û (c)1993 Painsoft on %DATE% at %TIME%. ÛÔÍÍÍÍ͸ ÕÍÍÍÍÍ¾Û ßßßßßßÛ³ V ³Ûßßßßßß It successfully passed a test by Û³ E ³Û McAfee's Viruscan V.107 which tests for Û³ R ³Û 2309 viruses, as well as TBScan v6.05 and Û³ ³Û F-prot v209d (for heuristic testing). Û³ 9 ³Û Enjoy the security of THD ProScan v9.0 ÛÔÍÍÍ¾Û from "PainSoft". ßßßßßßß And as it would be inserted into an archive ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÛÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¸Û This archive was tested using THD ProScan Ver 9.0 Û³ THD PROSCAN ³Û (c)1993 Painsoft on 8/28/1993 at 09:27 am. ÛÔÍÍÍÍ͸ ÕÍÍÍÍÍ¾Û ßßßßßßÛ³ V ³Ûßßßßßß It successfully passed a test by Û³ E ³Û McAfee's Viruscan V.107 which tests for Û³ R ³Û 2309 viruses, as well as TBScan v6.05 and Û³ ³Û F-prot v209d (for heuristic testing). Û³ 9 ³Û Enjoy the security of THD ProScan v9.0 ÛÔÍÍÍ¾Û from "PainSoft". ßßßßßßß *** Specifically.. note the change to line 2 of each comment *** THDPRO.CRC ---------- Before reading this. Understand that THDPRO.CRC is created and updated by THDPRO.EXE and will NEVER "NEED" to be edited manually. In most cases I recommend against such editing. This text is supplied for those of you who wish to add files to the CRC list manually. The 32 BIT "CRC values" used in this list are identical to those reported by ARJ.EXE and PKUNZIP.EXE. ** IMPORTANT ** Please note that this outline is supplied as a reference to the format of the CRC file used by THD ProScan version 9+. This is the format created by THDPRO.EXE and will be the only format understood for the processing. File sizes are used to avoid checking "all" files for CRC. (if it's not the right size, it's not the right file). The CRC file can be edited by any text editor providing the "convention" laid out here is adhered to. (Although I strongly recommend that you use THDPRO.EXE's "CRC" option to build and maintain this list). The placing of a file's size is extremely important. If the file is not in the correct place (by size) all files past the one in the wrong place, could be skipped. And the incorrectly placed entry may NEVER be checked. File names are ONLY for the users reference and are not required. A file of a given size with the given CRC will match regardless of its "name". (If THDPRO encounters a file of the same size and CRC as one already in the list, it will be considered to be the same file, regardless of its name). The second ","(comma) is required to signal the end of the CRC value. There are no known limits to the number of entries allowed in this file. Both list types CAN be used simultaneously to remove files. by inserting the full path to the names only file to be used as the first "0" length file and by selecting that option in THDINSTL. (If selected THDINSTL will create the file and insert (or change) the path to the names only list.) The CRC test list must be of the following format.. (all "letters" MUST be capitals). * path to list of files to be removed by name only (OPTIONAL/ONE ENTRY) no wildcards allowed in this entry. * list of "0" lengths files (by name only). (Wildcards "?" and "*" are NOT allowed anywhere in this list). Only files with a size of "0" will be checked against this portion of the list. followed by * "ENDZEROLENGTHFILES" (exact spelling and capitalization is imperative) then * list of CRC checkable files in the format... "FILESIZE" (IN BYTES) "," "CRCSTRING" "," "FILENAME.EXT" Filesize is checked first and if not found procedure is skipped. If found CRC is checked. if identical then file is added to a list of files to be removed (internal to the tester) else next file is initiated until all files are checked. Sample File list for removal by CRC. A list of files which are to be removed C:\UTILS\REMOVE.FIL -----> based only on their names. KILL.TXT ----\ Contains "FILENAME.EXT" of names of "0" BULLSH.DOC > length files to be removed. MUST be all READTHIS.NOT ----/ Capital letters. ENDZEROLENGTHFILES -----> Indicator of no more "0" length files 1,49ACDFE3,FILENAME.EXT ---\ Files MUST be listed smallest to largest. 12,156ED64D,FILENAME.EXT \ List of Files in order of size,crc,name. 123,AB756F4F,FILENAME.EXT > Each separated by a "comma". 1234,C7EAD84D,FILENAME.EXT / Name is for user's info only and is NOT 12345,325DEB65,FILENAME.EXT ---/ required. The second COMMA IS required. -----> Any blank line will be considered to be the end of the file and no search will continue past that point. The blank line is not required. An EOF (as inserted by dos) will also indicate the end of the file. THD PROSCAN'S CUSTOM ANSI ------------------------- THD ProScan version 9 has direct support for two types of sysop supplied ANSI. The first is an ANSI CORNER. An ansi-corner for the purposes of this program will be considered a non-interactive ansi which will be displayed during testing to the remote user in the upper left corner of his/her screen. It can be 35 characters wide and 16 characters high. Files of this type will be named THDPRO.AN?, where the "?" represents a number from 1 to 9. The second ANSI is a full screen interface. It may use the entire screen EXCEPT for the top two lines which are reserved by THDPRO.EXE for self identification purposes. This file is not a "true" ansi screen in that it will contain an ansi image and a number of "interaction lines" to be sent as required by THDPRO.EXE. These files will be called "PAINSOFT.AN?", where the "?" represents a number from 1 to 9. First, you must understand that THDPRO.EXE will search for these files in numerical order and as soon as one is not found, it will be assumed that no higher numbers exist. That is to say that if THDPRO.AN1 does not exist, THDPRO.EXE will NOT search for other THDPRO.AN? files. If it finds THDPRO.AN1, THDPRO.AN2 but not THDPRO.AN3, it will stop searching and assume there are only the two "THDPRO.AN?" files to choose from. It will then begin a search for the "PAINSOFT.AN?" files using the same rules. Also, these "ANSI" files will ONLY be found IF they are located in the same directory as THDPRO.EXE. (that is, the copy of THDPRO.EXE that is actually performing the test). If they are not located in the same directory, THDPRO.EXE will simply assume that they don't exist. These (up to 18) additional files will be displayed at random along with the 3 original screens internal to THD ProScan. THDDEMO.COM can be used to preview your ansi with the THD test screen. Use this to see if your ansi will be displayed correctly to the remote users. Typing "THDDEMO.COM" will show you the "traditional" THD Ansi screen. Typing "THDDEMO.COM" followed by the path to YOUR ansi file will show you what your ansi will look like to the remote user. THDDEMO.COM is purposely crippled to not properly display ansi which exceeds 70 characters per line. This is to ensure that your ansi will remain compatible with the majority of user's systems. If your ansi looks fine through the demo, it will almost definitely be fine on the remote end. THDPRO.AN? ---------- Your custom ansi's can use the top/right corner (a box 35 characters wide by 16 high). That portion of the screen will be left untouched when the test portion of the ansi is displayed immediately following. The acceptable co-ordinates for your ansi are bound by position "1,1" and "16,35". The rest of the display will be used by THDPRO.EXE. The ansi "line length" cannot exceed 70 characters per line, or they will NOT be displayed. The total number of lines is not important. Note that the "Registered to BBSname" message is NOT displayed when a user defined ansi is used. This is done to free up that space for your use. You might want to keep that in mind when designing your ansi corners. PAINSOFT.AN? ------------ First a note. The use of PAINSOFT.AN? is a delicate and involved process. If you do not understand the workings of ansi drawing (and the code itself) I suggest you not even attempt to use this file. This file will be a "complete" ansi test screen and NOT an ansi corner. It will contain a main body ansi screen, followed by a number of "data" ansi lines that will be displayed as discussed below. The format for a usable ansi of this format will follow the following conventions. IT must not use the two top lines of the screen. These are reserved by THDPRO.EXE and will be rewritten immediately following each section of ansi from the user's file. In this way it will never be over written by the user's ansi. The first "section" of the ansi file should contain the basic screen image which is to be sent to the user BEFORE testing begins (Usually a screen with blanks to be filled as testing proceeds). The second section will be marked by a line (immediately following the "main" section) with only the text "ENDANSI" (IN CAPITAL LETTERS). This will signal the next series of commands are for filling in the test prompts. The next section will consist of 19 ansi strings each of which will indicate a certain process occurring. An optional final line can define the foreground and background colours of the THD identification header. in order, they are... indicator clearing line 1 indicator clearing line 2 the CRC test is starting the CRC test was passed the CRC test was failed the file is being expanded the file expanded okay the file did NOT expand okay the file is being virus scanned the file passed virus scanning the file failed virus scanning the work space is being cleared clearing of workspace is complete. expanding for conversion passed expansion for conversion failed expansion for conversion rearchiving for conversion passed rearchiving failed rearchiving foreground/background colour definition (optional) None of these strings may exceed 70 characters. The first two lines are for clearing the "indicators". If you are using "blocks" or other characters to display the testing, they should be "reset" or cleared before the testing of imbedded archives begins. These first two lines are for that purpose. These two lines could also be used to erase "text" and start again. They will be displayed immediately before the CRC test begins. There is no need to "clear" any of the "Fail" indicators as the testing would stop if any fail occurs. (with the possible exception of the SCAN failure which can be skipped if THDPRO.EXE is configured to pass heuristic failures). If you are not sure how to use them... leave them as empty lines. The third string (The CRC test starting string) could also be used to clear the "pass" indicators (if the 2 indicator clearing lines are not enough). So that they will be cleared as the testing of internal files begins. IF any of those strings is to be unused, a blank line MUST be entered in it's place. Imbedded testing will use the same indicators as the main file testing. So only one set of indicators will be required. (Unlike the internal ansi and ansi corners discussed above which have separate main and embedded indicators). The final configurable string is an optional colour configuration for the THD identification header (shown at the top of the screen when using PAINSOFT.AN? files). The format for this line is "EXACTLY"... FOREGROUND=# BACKGROUND=# where "#" - represents the colour number according to the following 0 = black 1 = red 2 = green 3 = yellow 4 = blue 5 = magenta 6 = cyan 7 = white 0 (black) may be used as a background colour ONLY. Foreground colours will always be high intensity and background colours will always be low intensity. Both colours MUST be defined or the display will default to YELLOW on RED. (foreground must be specified first). The "TESTING - FILENAME.EXT" will always be high intensity white in the header. To "sample" the various headers available, THDDEMO now allows the use of a parameter "/C". (This parameter must be "after" the filename on the command line.) If this parameter follows the name of a PAINSOFT.AN? file it will display the "main" ansi portion and sit. At this point you may scroll through the various foreground and background colours by hitting either "F" or "B". when you have decided on a combination that goes well with your main body ansi, hit . THDDEMO will then exit, clear the screen, and report the foreground and background colours that were displayed just before you exited. ie. THDDEMO PAINSOFT.AN4 /C would display the PAINSOFT.AN4 ansi file with the THD ID header, from there press "F" or "B" to change the foreground and/or background colours until you find a combination that you like. Hit esc and it will display the correct "colour definition line" to insert in the file to achieve the colours that you have selected. (Note that this only works with PAINSOFT files since the THDPRO files do not display the ID header). Ansi output (PAINSOFT.AN? and THDPRO.AN? files) should ALWAYS be tested using THDDEMO.COM before being used. THDDEMO will show you EXACTLY what the user will see and aid you in fine tuning your ansi files. PAINSOFT.ANS ------------ PAINSOFT.ANS is a special case. If Found, PAINSOFT.ANS, will always be used instead of ANY other ansi. Painsoft.ans follows the same creation and viewing guidelines as described above for PAINSOFT.AN? files. You may use this file to force the same output on every file test. While boring, I'm sure some of you will find it useful. SAMPLES OF BOTH OF THESE TYPES OF SCREENS ARE INCLUDED IN "THDANSI.ZIP"