$VER: DEVILCHECK DOC Version 1.33 _____ ________ ____ ___ _______ ___\ |__/ ____/_____| \__\__)__\_ /___ _/ ___ _/ __/ _/ | _/ _/ / \_ .---\______\___\__________\________\________\___________/---. |tRB! ______ ______ _______ ______ _________ | | _/ ___/__\ /____/ ___/__/ ___/_\ | __/_ : | \ _/ _ _/ __/ \_ _/ _ \_f@nk! `-- - -\_______\____|___\___________/______\____|______/--- - - DeVIL cHECK by kLEINDuIPJE -- aN aDVANcED .T.R.I.B.E. tOOL vERSION :>1.46 on/oFFlINE vIRUSsJECKER! Disclaimer ~~~~~~~~~~ Although This program will not damage anything, still to be on the safe side: use this at your OWN risc! I am in no way responsible for any damage to anything because of this piece of code. Should be clear :) Introduction ~~~~~~~~~~~~ BioFilter of Picard was the first real good Virus killing tool that checkt if there was a virus uploaded within an archive. But since no update came and since I had experienced a lot of trouble since then with VirusChecker from John Veldthuis, I decided to make my own Biofilter but this time with the checker VirusZ. This checker recognises even the HNY virus and therefore MUCH safer then the Biofilter program. Features ~~~~~~~~ - Usable EVEN in Dopus (see down below how to configure!) - Suitable for BBS and at home to check your uploaded/downloaded files (DayDream BBS can use Tools instead of ONLY door-checkers) - Semi-Random temporary file and unpack directory enables advanced BBS usage (see history for explanation) - Checks EVERYTHING! So you can use it for checking, EXE, DOC, TXT, LHA, LZX, DMS etc. - Checks even IN LHA, LZX and decrunches XPR-ed EXE files - Possible to check even IN DMS files, so that you KNOW that they are virus free too (should at the moment only be used when checking manually) - Makes logfile if something was wrong - Recognises and Checks integrity of LZX, LHA, DMS - Uses standard MAPUS for DMS, LHA for LHA, LZX for LZX (external checkers are not possible YET!) - ZIP extraction and checking - ZIP bbs adding - Unprotect protected, unarchived files (now programs that are protected from deletion are not deleted because I had no lust and time to code this) - External Programs are able to be used to check files - Usable as a MultiChecker for /X (read below how and what) - Launch separate Doors/Utils To do ~~~~~ - BBS-ad stripping - Return code errors (now no return code is given, just a SAVE of VIRUS blabla is returned...) - Time and Date in the LogFile (had no time and lust to make it, not really THAT important) - Auto-Cancel 'NON-DOS' requester when DEEP DMS checking (now the OS throws a damn "Device BLABLA is NON-DOS" message this is NO bug! Just very hard to code) If you have any suggestions, please let me know. I will try to make these features available in next versions, so you have something to look out for. Requirements: ~~~~~~~~~~~~ - VirusZ (has been tested with version 1.28 and higher) (it might happen that the program reports some vectors are not correct/standard just disbale the checking, must be a byg in VirusZ) - Mapus - LHA - LZX - ZIP - UNZIP - DMS - Delete - Copy Standard Installation ~~~~~~~~~~~~~~~~~~~~~ Very simpel. Place DevilCheck ANYWHERE you want. Make a special UNPACK directory which may be emptied totally every time DevilCheck is finished. Make sure you have installed VirusZ, LHA, LZX, Mapus etc. BEFORE using this advanced TRIBE tool. Then the syntax is this: DevilCheck FILE/A,CONFIG/A Example: If you have a file in Upload: Called 'Slamtilt.lha' then you have to be sure you have a directory specially created for DevilCheck and is empty. Let's say we call the unpack dir Unpack/ and can be found on DH0: Then at the prompt you type: DevilCheck Upload:Slamtilt.lha s:DevilCheck.cfg It will check the file slamtilt and looks in DevilCheck.cfg in S: for the config and here is how to config: DVC_LOGFILE DayDream:Logfiles/ DVC_TEMP1.. DH0:Unpack/ DVC_TEMP2 T: DVC_BBSADS. DayDream:Reklame/ DVC_DEEPDMS - DVC_ANSI... YES DVC_BANNER. YES DVC_VIRUSP. C: DVC_EXTLHA. LHA t DVC_LHAERR. Operation not entirely successful DVC_EXTDMS. Mapus -aAtrRk DVC_DMSERR. Error DVC_EXTZIP. UNZIP -t -q DVC_ZIPERR. error was detected DVC_EXTLZX. LZX t DVC_LZXERR. Operation failed DVC_LOGFILE Obvious enough: Logfile is created here DVC_TEMP1 Where the files are copied/extracted and checked (best to put this on a HD partition) DVC_TEMP2 Place where the temp file is put (could be in RAM: for speed) DVC_BBSADS A directory with ONLY bbsads (it adds the contents of the WHOLE dir into a archive) Or - if no bbsads should be added DVC_DEEPDMS A Device name (FF0:) with the : it will use the string and won't check if the device does really exist. Or place a - instead to disable this. DVC_ANSI NO disbales it, anything else Enables it. DVC_BANNER YES if you want the alltime-mega-terrific-kewl banner made by F@NK! or NO if you want just a simple small line stating the name of the program and its maker. DVC_VIRUSP Path where your VirusZ is located, example: C: DVC_EXTLHA External LHA checker. "-" Disables external LHA checking, the internal checking is used. should be put in the command line where you normally enter the file name. DVC_LHAERR String which is returned when the file/archive is corrupt. DVC_EXTDMS External DMS checker. "-" Disables external DMS checking, should be put in the command line where you normally the internal checking is used. enter the file name. DVC_DMSERR String which is returned when the file/archive is corrupt. DVC_EXTZIP External ZIP checker. "-" Disables external ZIP checking, the internal checking is used. should be put in the command line where you normally enter the file name. DVC_ZIPERR String which is returned when the file/archive is corrupt. DVC_EXTLZX External LZX checker. "-" Disables external LZX checking, the internal checking is used. should be put in the command line where you normally enter the file name. DVC_LZXERR String which is returned when the file/archive is corrupt. Explanation of the keywords: If your gonna use this in your BBS... Install it as a CLI util. DayDream users can NOT use this util in the Examine.dat. It will crash. They should put it into the config. Preferable on the ARC_TEST line. FILE is the file ofcoz :) (DayDream uses %A to specify the file) CONFIG name and path of your config file, this make it possible for you to use a special ANSI configured DevilChecker in your BBS and a NON-ANSI configured DevilChecker in your CLI (some WBs are so configured concerning colours that certain strings might be invisible in the CLI while they are perfectly seen on the BBS) At the moment a few problem arise: - When a file is too big and can not be checked, DevilCheck wil make an entry in the logfile and says that the archive which was tested has a virus. This is not always true, therefore you should ALWAYS check the file yourself also. I will try to make this program a bit more accurate. - When DEEP DMS checking and the unpacked disc is NON-DOS, DevilCheck DOES check if it is a checkable disc BUT it can NOT prevent the OS to throw a damn system request at your face. I will try to find another way to check if the disc is DOS or not, for now, I recommend to use it ONLY when you are checking privately and do not enable DEEP DMS checking in combination with your BBS, that could leave your user with a system request he or she can not see. Therefore when using it in combination woth your BBS, place a - instead of a device. Installation in DOPUS! ~~~~~~~~~~~~~~~~~~~~~~ I was trying to get it working and several curses crashed my monitor :) but now I have done it. It is fairly simple so, no problems should arise. It is possible to use it as a Workbench tool or as a AmigaDos but I should recommend AmigaDos tool in Dopus because something COULD go wrong with the arguments. First go through the steps of the "Standard Installation", then go to th rest of this section. So, make a button called .. well, something you like. Like: DevilChecker (wow) Then where you have selected a new Entry you should set the cycle button on AmigaDos (or Workbench..) and in de CommandLine you put the program with {f} behind it and the name and path of your config file. Then the only flags which should be enabled are: Do All Files Output Window (we want to see something.. don't we? :-)) Run Asynchronously Workbench to Front Thats it. At my Dopus it works, so if it does not work, try again. Else YOU are doing something wrong or you don't understand what I have been trying to explain :). /X Installation ~~~~~~~~~~~~~~~ Since we all want to prevent our board to contain viruses but we can not afford to check everything by hand, and we also don't want to loose the possibility of using other filecheckers, I thought it would be very nice if we could use it in /X (DayDream uses it in standard installation). We need to have a small script to do the trick. So what we do is the following: Put the script DevilCheck.X where ever you want. Insert in the Fcheck icons the path and name of the script (DevilCheck.X). So for LHA.info the tooltypes would look like this: (assume we put DevilCheck.X in Doors:) CHECKER=Doors:DevilCheck.X ERROR.1=V!RUS F0UND ERROR.2=ERR0R Or something like this. I bet if you are a good sysop you will be able to figure out how to install this small script. Then make sure the path and name in the script are correct, at the moment I assumed you would want to put it into C: so there was no need to put a path but if you decide ot put DevilCheck anywhere outside the PATH then I would STRONGLY recommend you to change the script and mention the path name. Response Codes ~~~~~~~~~~~~~~ DevilCheck returns some nice messages on screen when it detects something. When a virus is detected: ------------------------- V!RUS DeTECTeD! When an error is detected: -------------------------- AT L3AST 0NE ERR0R ReP0RTED! When an archive is corrupt: --------------------------- CORRUPT These return message could be used in order to have your BBS delete the file. HISTORY ~~~~~~~ 0.01b (29 March 1996) ~~~~~ Internal release for beta-testing Had a lot of problems, lacks, bugs, gurus.. etc . :) (No public release!) 0.02b (2 April 1996) ~~~~~ A good usable version, still a beta-test so beware. :) Nothing strange happened with my machine but it could still happen.. (No public release!) 0.03b (4 April 1996) ~~~~~ Ansi Colours can be disabled. Config file HAD to be added :) Made preparations for expansion with external tools. Put MApus into program. Some enhancements and bugfixes. (No public release!) 0.10b (8 April 1996) ~~~~~ In version 0.03b BBS usage gave some problems because of the same temp file the program used... Now because of semi-random files (random in the sence of starting up bt not when using it) this is not a problem anymore. Also no problem with unpack dirs, the program makes its own unpack dirs in YOUR specified directory. And kills it again :) A small bug has occured already, when files are protected from deletion it shows some nice little bugs in the tool, do not worry, it does not interefer with the checking. It just means you have to tidy the shit yourself instead of that the tool does it for ya :) (No public release!) 0.11b (9 April 1996) ~~~~~ Enhanced DMS checking (although the requester is still there, damn) Fixed some bugs. (No public release!) 1.00 (11 April 1996) ~~~~ Public Release Enhancements Final bugfixes I hope :) 1.01 (16 April 1996) ~~~~ Some problems with temporary files having the same name as the temporary directories I found it out when installing it at a friends board. This is fixed now! Also you can now enable or disable the banner. The temporary directory for the temp file can be configured. BBS ads were not added when SOMEWHERE a word NO was put (like xeNOlin :) ) At the moment DON'T put names beginning with NO because then it will not add. (No public release!) 1.1 (17 April 1996) ~~~ Integrity check of the config is now enabled so serious problems will be corrected and will be told by the program. The program is much safer this way. (No public release!) 1.2 (18 April 1996) ~~~ Optimised A LOT of ERROR REPORTS. Intercepts a lot of problems I encountered before. So if for some reason you forgot to include ONE or more keywords/settings in the config, it will be report which setting is missing. If for some reason VirusZ could not be found, DevilCheck will not ERROR anymore but will report this BEFORE checking. If the temporary dir that was entered in the config, does not exist or something, for some reason can not be accessed, it will also be reported BEFORE checking. Also if the log failed. My guess is that it is a lot safer now. (No public release!) 1.21 (18 April 1996) ~~~~ DMS archives which were DEEP checked and did not have a DOS disk in them, caused a big guru, it is now fixed. (No public release!) 1.22 (18 April 1996) ~~~~ LHA seemed to be corrupt again, I found out I had made a mistake with the DMS and LHA. LHA was not extracted because of some small flag set for DMS that gave problems with LHA, LZX etc. Fixed again. :) (No public release!) 1.3 (19 April 1996) ~~~ Bug fixes (Never Released) 1.4 (19 April 1996) ~~~ More Bug Fixes Extra Features (No public release!) 1.45 (20 April 1996) ~~~~ Some more Bug Fixes. Made the checker a bit more specific, it does not report a error OR virus reported but it now distinguishes if the file was INFECTED or not and if VirusZ had an internal error or not. 1.46 ~~~~ Some more bugfixes Code enhancements Smaller code Other, BBS friendly, Banner Creditz ~~~~~~~ Code/Ideas/RealiZation kLEIndUIMPJe Original idea P!CARD BetaTesting/Ansis/Ideas/ BugShowing :)/etc.etc. F@NK! (uuuh, ken je dat nog eens uitleggen?? :))) Aditional Help/BetaTesting BAL0E (Mapus is unable to open redirection file :)))) Extra Special Thanx ~~~~~~~~~~~~~~~~~~~ Funki man, your a hell of a guy :) and you have been the best help I ever could have wanted. Thanx for standing by me and helping me make, in my eyes, the best online viruschecker in ages ;). Contact me ~~~~~~~~~~ If you wish to contact me: call AURA BBS +31(0)-70-3680039 and leave a message OR my own in the weekend: XF!LES BBS n0: +31-(0)70325-3901 e-mail me: pinkie@dds.nl You can also leave me a request, at ANY TRIBE board. I would LOVE to make some nice doors... (Especially DayDream Doors ;)) Greetz ~~~~~ Greetz go to: (in no particular order) SAHIB SOULTAKER WHIRLWHIND PLASTIKMAN JUNK PHOENIX SAHIB FUNKI NAILS RKR REST OF T.R.I.B.E. MEMBERS ALL AGABBS Int. MEMBERS COBALT THE BIG BOSS HARDSEQUENCER WARP CORPSE FUNKI SCARFACE ORLINGO CLOAK NICKNAME THE LITTLE BOSS BALOE DJ PINSCHER PACHA SUPER NOA FACET DIABLO MALA ERIKA ANNEMARIE JESSICA JBC THE NOSE JOX!DO KILLY EVIL RAVER BLACKBIRD JOK SPEED ICEMAN BODYGLOVE TIM MIRRORMAN MAZZELBOY and everybody I forgot...sorry...but still HI! :) SPECIAL NOTE ~~~~~~~~~~~~ DOC my dear fellow, as you can see in the History of my program, you where not by a long shot, the only one who thought of a viruschecking tool. And as you can see, I have been creating it from March till now, so it could be possible that YOU stole the idea from ME! and not the other way around :) Have fun my fellow...