Mask 2.3 (Shareware version) Copyright (c) 1994-1995, Jos‚ M. L. Lopes OVERVIEW: MASK provides several features, including: þ Advanced anti-hacking routine þ Security checksum envelope þ Multiple level encryption þ Ultra-complex encryption þ Random encryption (* registered version only *) þ Compatible with 8088 or greater processors þ 100% pure assembler code þ Hacked code warning þ Checksum modification warning Have you ever developed a program, then found out the next day that your software had been cracked and uploaded to all the BBS's across the world? If your answer is yes then your solution is MASK executable encryptor. MASK is more than a simple program that encrypts your software, in fact is a powerful tool that prevents your software from being cracked or hacked. A file protected with MASK will hang if anyone tries to follow is execution under any kind of debugger. MASK is not like any other program that claims to protect your software and has lots of programs all over the BBS's to remove that kind of protection. MASK encryption is more than a simple XOR to your original file. MASK relies on a complex encryption algorithm and several layers of encryption, each one decrypted with the values provided by the previous layer. Trying to trace a MASK protected file is a nightmare, because there's no possible way to place a breakpoint inside MASK envelope without affecting the normal execution of the decryption routine. MASK has also multiple traps to deliberately make the debuggers hang or follow a different route than the normal route of the routine running under the DOS prompt. MASK knows the best debuggers in the market and has specific traps to prevent tracing under those particular programs. MASK has also specific calls to internal pre-established breakpoints, that prevent any hacker to proceed under a debugger (just imagine trying to trace a loop that interrupts his execution several thousands of times). Inside MASK everything is checked: the flags, the keyboard state, the stack, the places were most likely the hacker will place a breakpoint... and MASK reacts to every intrusion hanging the machine, rebooting the computer, locking the keyboard, placing the hacker inside infinite loops, going the wrong way. MASK has also an unique feature that no other program like has: is impossible to place a breakpoint after MASK execution (that is, other programs like MASK may have a good security envelope, but one hacker could place a breakpoint, lets say, in DOS version check, passing through the encryption routine and intercepting the original file when running), under MASK there's no possible way to do that. By these and other reasons, you must use MASK when you release a shareware program with a registration option, a commercial copy-protected program, or any program that you don't want hacked, cracked or modified in any way. DISCLAIMER: The author makes no warranty of any kind, express or implied, including, without limitation, any warranties of performance, merchantability and/or fitness for a particular purpose. This software and accompanying documentation are provided "as is," without warranty of any kind. The entire risk as to results and performance is assumed by you. The author shall not be liable for any damages, whether direct, indirect, consequential or incidental arising from a failure of the MASK program to operate in the manner desired by the user. Nor shall the author be liable for any data, property or other damages which may be caused directly or indirectly by use, alteration of or inability to use the software, even if the author has been advised of the possibility of such damages. In no event shall the liability for any damages exceed the price paid for the license to use the software, regardless of the form and/or extent of the claim. By using the software you agree to this. SYSTEM REQUIREMENTS: MASK will run on any IBM/PC compatible, operating under DOS 2.00 or later, with at least 64 KB of free memory, and 8086/8088 or later CPU (also on Pentium processors). MASK has been succesfuly tested in several machines: - Commodore 8088 with MS-DOS 5.00. - Unisys 80286 with MS-DOS 3.30. - IBM 80386 SX 20 with MS-DOS 5.00 & EMM386.EXE - Unisys 80386 DX 33 + 80387 with MS-DOS 5.00 & EMM386.EXE. - Standard i80486 DX 33 with MS-DOS 5.00 & QEMM 7.50. - Schneider i80486 DX 33 with MS-DOS 6.20 & EMM386.EXE. - City Desk 80486 DX2 66 with MS-DOS 6.20 & QEMM 7.50. MASK has not been tested with Pentium processors but should be working fine. USING MASK: MASK [-D] filename[.ext] Filename is the name of the program you want to protect. If no extension is given, .COM is assumed first, then .EXE. The -D prefix creates documentation file MASK.DOC. MASK ERROR MESSAGES: - "Error reading file!": That's what you get when you buy those cheap floppy disks. - "File too big!". MASK still has some file size problems, which should be solved in future revisions. By now the maximum size of the target file must not be greater than 62 KB. - "File too small!" means that your file has less than 6 bytes. This is the smallest file you could find to loss several years of sleep trying to break the 700 bytes MASK security envelope (given or taken a few bytes). - "Give up hacker !!!" appears when (and if) you arrive to the first real problem within MASK security envelope. Keep trying. - "I don't think so..." means that you have tried to protect a file that has already been protected with MASK. Upgrade MASK to the registered version. - "Packed file is corrupt". This is not really a MASK error message, but an EXEPACK message, meaning that you have to use LOADFIX to run your protected file. - "Warning: Bad CRC !!! Execution terminated." means that either your file is corrupted or you have tried to debug through MASK security envelope. In the first option give up, if your file is really damaged well... replace it by a new one. - "Windows or OS/2 file. Cannot be protected." MASK does not handle OS/2 or Microsoft Windows executable files. COMMON PROBLEMS: MASK has several traps to avoid tracing using debugging tools. If executed under one of this tools, most particularly Soft-ICE, MASK may simply hang the system, but could also start beeping through the PC speaker, or also reboot the computer. Most likely, MASK will cause a system crash generating an exception 6 error, because debugging makes the decryption routines not to work properly. If you get an exception 6 error and you don't have none of the following debuggers running: - Action Replay - Advanced Fullscreen Debug - DIS86 - Interactive Disassembler - Game Wizard (*) - Game Wizard Pro (*) - GameTools - ICEberg - Intercept/Interpret - Microsoft CodeView - Microsoft Debug - Microsoft Symbolic Debug Utility - Periscope - Phar Lap DXDEBUG - Quaid Analyzer - Soft-ICE - Soft-ICE/W - Symbolic Instruction Debugger - Turbo Debugger or any of the following unpacker programs: - TPCX - TRON - UNP - UP - UX then use the addresses provided in section "contacting the author" to expose your problem. Don't forget to send a copy of your AUTOEXEC.BAT and CONFIG.SYS files, and information about your system, like your CPU type and manufacturer, BIOS type and manufacturer, adapters installed (IDE, SCSI, soundcard, video...). Also, with an exception 6 error you should see a screen like this: Exception #6 at 0A16:0100, error code: 0000 AX=0000 BX=0000 CX=00FF DX=0A16 SI=0100 DI=FFFE BP=091C DS=0A16 ES=0A16 SS=0A16 SP=FFFE Flags=7002 Instruction: F0 C3 90 90 90 90 90 90 90 90 90 90 90 90 90 In order to understand properly what kind of error MASK provoqued, you should send me the values that QEMM provides, that is, CS:IP, error code, registers (AX, BX, CX, DX, SI, DI, BP, DS, ES, SS, SP, Flags) and instruction that caused the problem. (*) NOTE: MASK could also cause problems with Game Wizard and Game Wizard Pro even if this program has been unloaded from memory. REGISTERING: Unregistered version of MASK accepts only one level of protection, meaning that you can't add several encryption's to your files. Also, registering adds random encryption to your files. The registered version does not put the label "Unregistered evaluation copy" to your encrypted files. To register fill up and send the included ORDER.FRM, or the order form included below in this documentation file. REVISION HISTORY: Version 2.3, 1995 Jun. 19: - Some routines have been rearranged. MASK 2.3 is able to encrypt files slighty bigger than previous versions. - Added a new effect to Soft-ICE users. Might I suggest that you get another debugger ? - Added a small new trap (7 bytes). This one is dedicated to the authors of TRON and UNP. Version 2.2, 1995 Mar. 11: - Some small internal changes. - One more trap added. Version 2.1, 1995 Mar. 06: - Changed a routine that caused some problems under QEMM in 80386 SX or more recent processors. - Fixed a conflict with AVATAR.SYS. - Improved documentation, due to lots of complains (documentation for MASK 2.0 has been made in a great hurry). - Added more traps. - Removed the keyboard lock feature due to conflicts with some versions of AMI BIOS. Version 2.0, 1995 Mar. 02: - Fixed a bug with the keyboard lock feature. - Added more traps. - MASK runs now faster than version 2.0á. Version 2.0á, 1995 Feb. 15: - Added support for small .EXE files. - Added more traps. Version 1.7, 1995 Feb. 12: - Added more traps. - Changed the security envelope to provide compatibility with 8086/8088 processors. Version 1.6, 1995 Feb. 10: - Added more traps. Version 1.5, 1995 Jan. 14: - Added multiple levels of encryption. - Added random encryption. - The number of debugging traps has been increased. - After this version, MASK appears in two distinct forms, a shareware version and a registered version. - Corrected also a bug with the processor internal instruction cache. - The encryption routine seems to have become too complex too 8086/8088 processors. MASK requires now 80286 or greater processor. - Added online documentation to the shareware version. Version 1.4, 1994 Dec. 13: - Corrected a bug with the security envelope. Version 1.3, 1994 Nov. 30: - Added several traps to avoid debugging. - Added also a security checksum envelope. Versions 1.0, 1994 Feb. 21, up to 1.2, 1994 Jul. 11: - The first releases, no more than a simple method to protect some files against the curiosity of a few lamers. Very easy to break for serious hackers. CONTACTING THE AUTHOR: - Send a letter to Jos‚ M. L. Lopes Rua de S. Miguel N§ 18 - 3§ 1100 Lisboa PORTUGAL - Or a message through Internet to sergiorodrigues@telepac.pt or sergio.rodrigues@skyship.alce.pt ACKNOWLEDGMENTS: Thanks go to Bee Keeper, A.K. and The XTerminator for beta testing and improvement suggestions. ------------------------ // ----------------------- MASK 2.3 order form SPECIAL OFFER: If you register this software before 1995 Aug. 15, you will only pay US $10 (or 1700 PTE). After 1995 Aug. 16 this price will be US $15 (or 2500 PTE). To receive your registered version of the latest MASK executable encryptor, send a cheque or money order payable to: Jos‚ M. L. Lopes Rua de S. Miguel N§ 18 - 3§ 1100 Lisboa PORTUGAL Fill out and print the form below. Include it with your letter. =============================================================================== FROM: Name: ___________________________________________________________ [Company]: ______________________________________________________ Reg. Name: _______________________________________________________ [Used to register your software, 30 characters max.] Address: ________________________________________________________ City: ______________________________ State: _____________________ Country: ____________________________ Postal Code: ______________ Phone: ________________________ Fax: ____________________________ Where did you obtain MASK shareware from? _______________________ _________________________________________________________ What do you intend to use MASK for? _____________________________ _________________________________________________________ _________________________________________________________ Have you tried to trace MASK shareware programs, and if so, how did you find them? _________________________________________ _________________________________________________________ Future product suggestions: _____________________________________ _________________________________________________________ _________________________________________________________ ===============================================================================