home *** CD-ROM | disk | FTP | other *** search
/ High Voltage Shareware / high1.zip / high1 / DIR4 / PREXCM31.ZIP / PROTEXCM.DOC < prev    next >
Text File  |  1993-08-26  |  21KB  |  396 lines

  1.  
  2.  
  3.                           Protect! EXE/COM v.3.1
  4.                          (C) 1993 Jeremy Lilley, 
  5.                             All Rights Reserved
  6.                               August 26, 1993
  7.  
  8.  
  9.  
  10.  
  11. The Very Brief Table of Contents:
  12.  
  13. What's going on with Protect! EXE/COM v.3.1 ............... 1
  14. Other Programs before Protect! EXE/COM .................... 2
  15. Protect! EXE/COM enters the picture ....................... 2
  16. Requirements .............................................. 3
  17. How to use Protect! EXE/COM ............................... 3
  18. Which Files can't be Protected ............................ 4 
  19. Legal Terms / Disclaimer .................................. 4
  20. License ................................................... 5
  21. How Does Protect! EXE/COM Stand up to Other Utilities? .... 5
  22. Notes About Protecting .................................... 6
  23. Finally, Protect! EXE/COM's Cost .......................... 6
  24.  
  25.  
  26.  
  27. Introduction: What's going on with Protect! EXE/COM v.3.1?
  28.  
  29.      After having a few unprotects made for it, Protect! EXE/COM v.3.x is
  30. back better than ever and is made much harder to defeat. Although v.3.1 
  31. was written mainly to fix many bugs that plauged v.3.0, v.3.1 makes it more
  32. difficult for your EXE and COM files to be CRACKED, REVERSE ENGINEERED, or
  33. OTHERWISE MODIFIED. Protect! EXE/COM's sole purpose is to encrypt and
  34. scramble your EXE and COM files while still leaving them executable.
  35. Whenever a protected file runs, its special header checks the file's
  36. integrity using a real CRC, taking little time (1/10 second extra for a 90k
  37. .EXE file on a 386-40mhz). If any modification is detected (which is hard
  38. to do because the file is scrambled), the file will abort with a
  39. customizable CRC message (customizable for registered users only).
  40. Programmers, developers and especially shareware authors can make use of
  41. this program to protect their software from malicious modification by
  42. HACKERS, PIRATES, and other TROUBLE MAKERS. Just think about what people
  43. would think of you and your programs if A VIRUS OR A TROJAN WERE PUT ON
  44. YOUR PROGRAMS. Other programs can scramble and compress your files, but NO
  45. OTHER PROGRAM SUPPORTS A COMPLETE CRC INTEGRITY CHECK and scrambles your
  46. files. Protect! EXE/COM is also designed not to be intrusive. No passwords
  47. are required and the file will entirely run as normal.
  48.  
  49.      Even though there have been cracks for *OLD* versions of this program
  50. (meaning that those same cracks will not work on this version and future
  51. versions) such as UNP and X-Open, I am still committed to make Protect!
  52. EXE/COM the most powerful and safest encryption and protection utility
  53. available at the cheapest price to you. Compared to any problem that you
  54. might have with your program being REVERSE ENGINEERED OR CRACKED, $25 IS A
  55. SMALL PRICE TO PAY FOR SECURITY. If you have this program and are wondering
  56. on whether or not to register, consider the fact that cracks for the
  57. unregistered version will not work for the registered version and that the
  58. registered version is harder to crack. Also remember that you can specify
  59. your own CRC error message (instead of the one that unregistered users get
  60. Page 1
  61.  
  62.  
  63. -- check it out) as well as an optional message to display before the
  64. program starts. You also are not legally allowed to distribute any file
  65. encrypted with my program until you register and the registered version
  66. will make the files you distribute more protected. So if you use Protect!,
  67. please consider registering.
  68.  
  69.  
  70. Other Programs Before Protect! EXE/COM:
  71.  
  72.      Let's go down memory lane briefly and explore some of the more
  73. primitive methods used to secure EXE and COM files. In the beginning of
  74. computing, programmers simply hoped that nobody was smart enough to modify
  75. their files. This method worked until the advent of malicious, clever
  76. hackers with sophisticated hex editors. Programmers then started resorting
  77. to some security methods like copy protection and "tying" a file to the
  78. disk; however, they were extremely obtrusive and slow -- they did not work.
  79. LZEXE and then PKLite came out and programmers thought that by simply
  80. compressing the files with utilities like these, they were home-free. When
  81. UnLZEXE came out and along with PKLite and its decompress option,
  82. programmers were again starting to have problems with protecting their EXE
  83. and COM files. To trick these decompressors, programmers would simply use
  84. their favorite hex editors to change the signature that UnLZEXE or PKLite
  85. would look for on a file and hoped that nobody would change the signature
  86. back to the original and decompress the file. PKWare added a -E option on
  87. the $150 professional version of PKLite to prevent decompression, but that
  88. has not really worked because hackers have created programs to expand the
  89. "unexpandable" PKLite -E files and made them widely available -- some BBSes
  90. local to me have 5-6 of these programs. Expensive hardware "SOLUTIONS" such
  91. as "Everlock" have been defeated by Neverlock those programs. 
  92.  
  93.  
  94. Protect! EXE/COM enters the picture:
  95.  
  96.      The first few versions of Protect! EXE/COM were not entirely secure
  97. and eventually had unprotects made for them. Now Protect! EXE/COM v.3.x is
  98. out with anti-debugging techniques, rewritten headers, and many more things
  99. going for it. You've probably heard something like this before, so why
  100. should you evaluate or re-evaluate this program ? This program is not the
  101. same program that it was a few months ago and many times more time was
  102. spent developing this version of Protect! than with other versions.
  103. Similarly, in the world of house alarms, if one alarm were defeated by
  104. burglars, does that mean that everybody should give up on alarms and not
  105. use them anymore, surrendering their houses to burglars ? Instead, new
  106. alarms and new file encryption systems are being continuously developed so
  107. that you will be as secure and safe as ever. The reason that I wrote
  108. Protect! EXE/COM was not for a "quick buck" until it got hacked, but to
  109. help slow hacking in the computer world so that eventually nobody will have
  110. to worry about every Dick and Jane modifying their files. Try yourself, if
  111. you want, to reverse engineer one of your programs protected with Protect!
  112. EXE/COM and I hope you like Protect! EXE/COM !
  113.  
  114.  
  115. Requirements:
  116.  
  117.      The requirements are basically nothing: DOS 2.0, IBM PC, 256k, etc...
  118. I can run this program on my 4.77 mhz XT and have it run quickly. The one
  119. major software requirement for protecting EXE files is that you are
  120. REQUIRED TO OWN AN EXECUTABLE COMPRESSION PROGRAM such as LZEXE (FREE!), or
  121. PKLite. The reasons are simple -- scrambled data seems more scrambled if it
  122. Page 2
  123.  
  124.  
  125. is compressed first. If you have huge sequences of the same character
  126. (particularly ASCII #0), the encoding sequence can be revealed much more
  127. easily than if you simply have the tokens and marker characters that a
  128. compression program would leave instead. Relocatable items are also
  129. resolved by the compression program, allowing Protect! EXE/COM to calculate
  130. a CRC more reliably. Of course, the file also takes up less space when
  131. compressed with an executable compressor, and it will give a hacker more
  132. problems than those that Protect! EXE/COM gives alone. Protect! EXE/COM
  133. also can insure that the programs that it protects will run consistently if
  134. they originate in the more consistent form that LZEXE or PKLite provides
  135. them in. Besides, LZEXE is a free program thanks to the generosity of
  136. Fabrice Bellard, and if you need a good yet free EXE compression utility,
  137. you should obtain that program (because it only takes a few minutes to get
  138. by modem or a few dollars for it on a disk, and it has been translated from
  139. French into English, so you really should have no excuse for not having it,
  140. particularly if you are a professional developer). Most importantly,
  141. Protect! EXE/COM will almost surely protect any file that has been
  142. compressed with LZEXE or PKLite because the requirements are very similar:
  143. Windows files, OS/2 files, and the many overlays that cannot be compressed
  144. with LZEXE and PKLite cannot be protected by Protect! EXE/COM either, so if
  145. a file can be compressed, it can probably be protected. Overlays are taken
  146. care of properly in many cases, but you can have problems with them
  147. especially if they are large overlays.
  148.  
  149.  
  150. How to use Protect! EXE/COM:
  151.  
  152.      To use Protect! EXE/COM, you can run it from the command line or
  153. interactively. To run it interactively, simply run ProtExCm.EXE with no
  154. parameters and you will be asked to select a file to compress through
  155. scrolling menus:
  156.  
  157.      ProtExCm
  158.  
  159.      To run it from the command-line, simply run ProtExCm.EXE with the
  160. program to protect and optionally (if you are registered) a file with the
  161. CRC message in it and, again optionally, a name of a file with a message to
  162. display before the program starts (Starting Message). Here is an example:
  163.  
  164.      ProtExCm Program.EXE CRC.MSG Starting.MSG
  165.  
  166.      If you are registered, you will probably want to run it from the
  167. command line so that you can define your own CRC message. The CRC message
  168. file must:
  169.  
  170.      1) Be less than 420 bytes (sorry, but you can't have elaborate 
  171.         ANSI screens scrolling every which way). The DOS console is 
  172.         used, so that ANSI control codes can be used, but that is not
  173.         recommended because not everyone has ANSI.SYS installed. There
  174.         is enough space to tell your users that there may be modification
  175.         and therefore they should report the file and source to you and
  176.         have your address posted.
  177.  
  178.      2) Not have any dollar sign characters ($) in it. This is a carry-
  179.         over from CP/M, an 8-bit operating system for the Z-80, and it
  180.         cannot *easily* be avoided through that DOS call (service 9).
  181.  
  182.      3) Should start with "ESC[=3h" (ESC=ASCII #27) as a courtesy to 
  183.         ANSI users to clear their screen and alert them to the problem.
  184. Page 3
  185.  
  186.  
  187.         You may also wish to change the color to light red or something
  188.         like that to alert the user even more.
  189.  
  190.      4) Should alert to exactly what has happened without using technical 
  191.         jargon about "Cyclic Redundancy Check" or "modulo-2 arithmetic."
  192.         Just tell the user to report the file to you.
  193.  
  194. In addition, an errorcode for DOS of 250 is returned when a CRC error
  195. occurs. The first file name is the file to protect, the second is always
  196. the CRC message file and the third is always the starting message file.
  197.  
  198.      Please note that no file can be expanded after being protected with
  199. Protect! EXE/COM, so please preserve the original file (.OLD) until you are
  200. sure that the protected file runs correctly (some incompatibilities may
  201. arise with certain files). That is about all that you need to know before
  202. you can really start protecting your programs with Protect! EXE/COM. EXE
  203. files must be compressed with LZEXE, PKLite, or some other executable
  204. compression utility such as TinyProg or Compack and then protected but COM
  205. files can be directly protected. A file called Protect.BAT is included, and
  206. using it can be much easier than doing the steps separately:
  207.  
  208.      Parts of Protect.BAT :
  209.           if %2=="COM" goto comfile
  210.           lzexe %1.EXE                     (you can use PKLite here also)
  211.           ren %1.OLD %1.BAK
  212.           ProtExCm %1.EXE %3 %4
  213.           del %1.old
  214.           ren %1.bak %1.old
  215.           goto End
  216.           comfile:     
  217.           REM you can use PKLite to compress COM files if you want
  218.           ProtExCm %1.COM %3 %4
  219.           End:
  220.  
  221.           
  222.      To call this batch file, simply type "Protect PROGRAM COM" to protect
  223. PROGRAM.COM or "Protect PROGRAM EXE" to protect PROGRAM.EXE. 
  224.  
  225.  
  226. Which Files can't be Protected:
  227.  
  228.      MS Windows, OS/2, and overlay files cannot be protected with Protect!
  229. EXE/COM. Basically, anything that can be compressed with LZEXE or PKLite
  230. can be protected. Some programs, however, do not like being protected. Some
  231. commercial programs have it in their licenses that they cannot be
  232. protected, and other programs simply have types of copy-protection which
  233. inhibit their protection with this program. DO NOT PROTECT COMMAND.COM,
  234. IBMBIO.COM, IBMDOS.COM (IBMBIO.COM and IBMDOS.COM correspond to IO.SYS and
  235. MSDOS.SYS in MS-DOS), or any other system-type file. You will most likely
  236. have to reboot the computer from a system disk if you try that. Other
  237. programs also have their own loaders like COMMAND.COM does -- don't protect
  238. these either. OVERLAY FILES can be more reliably protected than with
  239. previous versions, but STILL MAY NOT WORK. Overlays may crash the computer
  240. or set off the CRC code, so always test an overlay file before distributing
  241. or otherwise using it.
  242.  
  243.  
  244. Legal Terms / Disclaimer:
  245.  
  246. Page 4
  247.  
  248.  
  249.      Protect! EXE/COM ("program") will alter executable files and may
  250. render them useless (that is why .OLD files are created, in case of
  251. incompatibility arises with a particular file) in certain circumstances.
  252. Under no circumstances may Jeremy Lilley ("author") be held liable or
  253. accountable for any damage to system files, executable files, data files,
  254. or any other system damage. The author also may not be held accountable for
  255. loss of profits or for any other damages incurred by the use or misuse of
  256. the program. The author has forewarned any users that permanent damage to
  257. files may occur with misuse of his program and in executing the program,
  258. any user understands this risk. There is not guarantee that this product
  259. will not be broken into, however the author has made it extremely difficult
  260. to break through the files.
  261.      Don't worry -- there is little risk of damage resulting from this
  262. program's use as long as you use it correctly. However, if you try to make
  263. it mess up, it probably will. Just don't try protecting IBMBIOS.COM and
  264. then wondering why your system won't boot up correctly.
  265.  
  266. License:
  267.  
  268.      You may use Protect! EXE/COM for the purposes of evaluating it (after
  269. understanding the disclaimer and the documentation) for 30 days. No files
  270. protected by Protect! EXE/COM during this trial period may be distributed
  271. to other computers at all, commercially or non-commercially. If you find
  272. Protect! EXE/COM to be of use to you, you must register Protect! EXE/COM
  273. with the author. Government, educational, and commercial institutions
  274. absolutely must register this program with the author before use (please
  275. contact him for quantity discounts). Sysops, user groups, disk vendors, and
  276. other similar organizations may distribute Protect! EXE/COM provided that
  277. no files are excluded from the distribution and that no more that $10 is
  278. charged for distribution. IN ADDITION, BECAUSE THIS IS ENCRYPTION SOFTWARE,
  279. IT *MUST NOT* BE DISTRIBUTED TO Afghanistan, Albania, Bulgaria, Cambodia,
  280. Cuba, Czechosovakia, Hungary, Iran, Iraq, Libya, North Korea, China, Poland,
  281. Romania, Syria, the former USSR, Vietnam, Yemen, and other U.S. encryption
  282. export prohibited nations. No registrations will be taken from these places.
  283.  
  284. How Does Protect! EXE/COM Stand up to Other Utilities?
  285.  
  286.      Protect! EXE/COM's first concern is security -- especially with EXE
  287. files. While NO OTHER utility allows a CRC to be taken EACH time your
  288. program is run, Protect! EXE/COM does so each and every time. Though
  289. loading may be slightly slowed, Protect! EXE/COM is still much faster than
  290. fooling around with copy protection-type schemes because Protect! EXE/COM's
  291. loader loads completely in memory using highly-optimized routines. Try
  292. PKLiting an EXE file and change a byte or two in the middle of the file
  293. (find parts of text that you can still recognize slightly). As long as the
  294. program doesn't crash, PKLite doesn't notice your changes at all. A hacker
  295. can also decompress a program compressed with PKLite or LZEXE quite easily
  296. -- even if a program is compressed with the -E option (supposedly
  297. "invincible") on the professional version of PKLite. After decompressing,
  298. any hacker can "fix" your program (remove copyright screens, add "trojan
  299. horse" routines, etc...), compress it up again, and spread it around,
  300. possibly damaging your profits, your reputation, and others' computers. (I
  301. hope you have a good disclaimer...) Fortunately, hacking is not totally
  302. rampant like that, but it still is a possibility and a risk, and it is much
  303. better to pay a few dollars to be safe than to be sorry. I don't want to
  304. have "hacks" of my programs floating around or to have to worry about that,
  305. and neither should you. Though NO software-only protection program is 100%
  306. fool-proof, I am pretty sure this program is the best for protecting your
  307. Page 5
  308.  
  309.  
  310. EXE and COM files. Most "trojan horses" and "hacks" can't be detected by
  311. ordinary virus scanners, and it is up to you to defend the security and
  312. well-being of your programs.
  313.  
  314.  
  315. Notes About Protecting:
  316.  
  317.      The COM header adds about 450 bytes plus the error messages and the
  318. EXE header adds about 600 bytes to the file plus the messages. The old
  319. headers have been entirely trashed and re-written to bring you more secure
  320. new headers. Once you get Protect! EXE/COM to work on a file (test a file
  321. to make sure it works because, once again, Protect! EXE/COM has had some
  322. known incompatibilities with certain files), users of that file will not
  323. know that it has been protected unless they get a CRC violation and your
  324. custom error message explains exactly what happened to them. You can expect
  325. minimal slowing on files, but if you want more of an approximation, you can
  326. use this formula for EXE files (COM files are a bit faster, but they are
  327. all below 64k, so that you won't need to worry about their slowing),
  328. assuming that you know the Norton SI rating of a machine (the Norton SI is
  329. the many times faster than the 4.77 mhz XT a certain machine is):
  330.  
  331.                          Size of File in K bytes
  332.      Delay in Seconds=   -----------------------
  333.                          25 x Norton SI Rating
  334.  
  335.      For example, a certain 386-40 may be 36 times faster than an XT. If
  336. you have a 90k file, 90/(25*36) = more or less 1/10 second. On a 486-50
  337. with an SI of 100, the same 90k file may take 90/(25*100) or .036 second
  338. longer. I think I've made my point that the delay is so minimal that
  339. *nobody* will notice it (unless somebody's loading a 300k file on a 4.77
  340. mhz XT).
  341.  
  342.  
  343. Finally, Protect! EXE/COM's Cost:
  344.  
  345.      After seeing how Protect! EXE/COM can save you time, effort, energy,
  346. and money, it is now time to discuss price. There are NO "run-time fees,"
  347. "royalties," or anything of the type attached to the cost of Protect!
  348. EXE/COM; you can protect and distribute as many files as you want with
  349. Protect! EXE/COM once you register. The cost is $25 per copy of Protect!
  350. EXE/COM which may be used on one machine. There is almost no difference
  351. between the registered and unregistered versions of Protect! EXE/COM except
  352. for the "beg screen" and the absense of CRC error message customization. I
  353. was going to have the unregistered version of Protect! EXE/COM imbed a
  354. copyright message or something like "Made With an UNREGISTERED Copy of
  355. Protect! EXE/COM" into the output file, but I DECIDED AGAINST IT because
  356. most people could get out their favorite hex editor and replace it with
  357. their own message. Instead, it uses a message saying that the file was
  358. protected with an UNREGISTERED copy of Protect! EXE/COM for its CRC error
  359. message and that nobody should have that copy in the first place because it
  360. was illegal to distribute protected files protected by the unregistered
  361. version. My program is really not crippled except that I'm sure you would
  362. want to use your own CRC error messages instead of the one I've provided
  363. with the unregistered version, and I really do not like finding programs
  364. protected with the unregistered version of my program being distributed. 
  365.      There is a definite threat of hackers and viruses on the loose and it
  366. is your responsibility to protect your programs. While some compression
  367. utilities such as LZEXE and PKLite that are already on the market
  368. marginally have the ability to protect your programs, only Protect! EXE/COM
  369. Page 6
  370.  
  371.  
  372. has the renewed ability to provide much more protection for only $25.
  373.  
  374.  
  375.      Thank you for evaluating Protect! EXE/COM and actually reading this
  376. much of the documentation -- Happy EXE/COM Protecting!
  377.  
  378.  
  379.      Send any Inquiries and Registrations to:
  380.  
  381.                          Jeremy Lilley
  382.                          Protect! EXE/COM
  383.                          27816 Radfall Court
  384.                          Santa Clarita, CA 91350
  385.                          Compuserve: 75060,2074
  386.                          Internet: 75060.2074@compuserve.com
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396. Page 7