      Ŀ
     ڴ UN-COM - The Tiny COM File Decompressor/Decrypter - Version 1.00c ÿ
    ô                        Crafted By Z-N0TE                          ô
       In The Year Of Our Good Lord, Nineteen Hundred And Ninety Four   
      

This program is hereby released into the PUBLiC D0MAiN for use by everyone and
anyone who wishes. Do not modify this program without consent of the original
author.

Disclaimer
~~~~~~~~~~
UN-COM has been tested only on my PC but with different combinations of memory
setup and DOS versions. I do not take responsibility for any damage directly
or indirectly caused by my program as a result of known or unknown errors in
it.

What UN-COM does
~~~~~~~~~~~~~~~~
UN-COM tries to decompress or decrypt .COM files that have been compressed by
programs such as PKLITE, Diet, COMPACK and sCef. You are probably wondering
why I wrote this as PKLITE and DIET decompress their files as well as just
compressing them, well having PKLITE and DIET on your disk will take up about
100k or so, with UN-COM it takes up just over 1k ! Also UN-COM handles sCef
COMPACK, ICE and TinyProg files which cant be expanded with their original
compressor. UN-COM also decompresses your files faster than PKLITE and DIET
because it decompresses your files in memory and using the built in
decompression routine Now some people think its rather funny to remove or
replace the header in compressed files, like replacing "PKLITE Copr. 1993 ..."
with "-FUCK OFF-" and other such humorous messages, well UN-COM looks at the
file's structure and not at the message inside. So even if the file has been
patched UN-COM still has a pretty good chance of decompressing it.

System Requirements
~~~~~~~~~~~~~~~~~~~
To use UN-COM you need a PC with about 128k free memory. I use MS-DOS 5.00a
along with 4DOS 4.02 (DOS 6 is dodgy) and it runs without a hitch.

Syntax
~~~~~~~
UNCOM filename <ENTER>

"filename" = The base filename of the .COM file, DO NOT INCLUDE .COM !!!

If all goes well your file will be expanded and will keep the same filename.

Info
~~~~
UN-COM was coded totally in 8086 assembler using the classic shareware A86
v3.22 assembler/compiler. It was tested using DEBUG from DOS 5 and also using
SOFT-ICE v2.62 from Nu-Mega Tech.

 o Lines of code                     - 764
 o Size of source file               - 29400 bytes
 o Size of compiled .COM             - 2189  bytes
 o Size of encrypted/compressed .COM - 1677  bytes

If you try and decompress a file that has a structure the same as one in use
by UN-COM then UN-COM will try to expand your file and will either hang or
will try to rescue itself by "cold-booting".

"Cold-booting" also happens if the file you specify seems to be compressed by
a compressor known to UN-COM but when searching for the bytes to change cant
find them.

When UN-COM identifies the file you are trying to decompress it prints the
type of file on screen and trys to decompress it.

The current files that UN-COM recognizes are :

COMPACK v4.4            - W.Collins
COMPACK v4.5            - W.Collins
Nowhere CryptCom v2.0   - Nowhere Man [NuKE]
DIET v1.20              - Teddy Matsumoto
DIET v1.44  (EXE)       - Teddy Matsumoto
DIET v1.45f (EXE)       - Teddy Matsumoto
DIET v1.44  (COM)       - Teddy Matsumoto
DIET v1.45f (COM)       - Teddy Matsumoto
ICE v1.0                - Keith P. Graham
PKLITE v1.03            - PKWARE INC.
PKLITE v1.13            - PKWARE INC.
PKLITE v1.14            - PKWARE INC.
PKLITE v1.15            - PKWARE INC.
Pro-Pack v2.08          - Rob Northern (I think)
Protect! v1.00/1.10     - Jeremy Lilley
sCef All Versions       - THG/iNC
TinyProg v3.6 (EXE)     - Tranzoa Inc.
YuK Encryption          - YuK (Danny K.)

In total 19 types of file can be decompressed.

(For TinyProg users, rename the .EXE to .COM and run. UN-COM doesnt support
 files with passwords yet though.)

Error Messages
~~~~~~~~~~~~~~
"UNCOM filename - DONT include .COM" - You have typed a name with .COM
"Format Not Recognized             " - The file format was not recognized.
"File Not Found                    " - The file specified was NOT found
"Shit                              " - Error when trying to trace your prog.
"All Done!                         " - All Done, everything Ok.

Info On Compressors
~~~~~~~~~~~~~~~~~~~
COMPACK v4.4 - This is a rather good (but slow) compression program, I have
heard that files processed by COMPACK will lock up 486 systems because it
uses some undocumented functions that work perfectly on 386 and below systems.
This also means that using UN-COM on a COMPACKed file on a 486 system will
hang, as UN-COM uses COMPACKs built in decompression code.
The COMPACK compression program does not have an option to decompress COMPACKed
files so you'll have to use this program ;)

COMPACK v4.5 - Seems to be the same (roughly) as 4.4 but had to slightly
change a few routines. Hopefully this one doent fuck up 486's ...

Nowhere Mans CryptCom v2.0 - Nowhere Man is a programmer in the USA virus
group [NuKE], he was the inventor of the VCL (Virus Contruction Lab) and has
also written a few programs including CryptCom. The description for CryptCom
is too use it get a virus into a BBS, as its encrypted the scanner wont detect
it. So far so good, trouble was that the encryption routine was not a poly-
morphic one so the authors of virus scanners, like McAfee used a scan string
from CryptCom and called it DROPPER [OW]. So if you have a program that SCAN
says is infected with DROPPER [OW] run UN-COM over it to decrypt it and then
SCAN it again to see if it really has a virus inside or is just a normal
program encrypted by CryptCom.

DIET v1.20 - Diet is another excellent compression program that copies part of
its code onto the end of the .COM file, I again used the search routine to
find the correct code and it works Ok. Diet v1.44 and above convert .COM files
to .EXE but leave their filenames as .COM, this means that UN-COM will look at
the file and say "Format not recognized", I may build in Diet v1.44/45 support
in future but for the moment UN-COM is staying just that, for UN)Compressing
COM) files.

DIET v1.44 - Version 1.44 makes the .COM file you compress into a .EXE but
still leaves the filename as .COM, this means that to include this new version
of Diet I had to write a few new routines which I havnt had time to make
efficient yet.

DIET v1.45f - Version 1.45f is very similar to 1.44 but the coding is changed
slightly.

DIET v1.44/45f - BUGGER! Found an option that makes the compressed .COM files
into .COM's (why not leave it as it was Ted ?) anyway now included new routine
so that the REAL .COM type is decompressed. The option is -XC to produce REAL
.COM SFX type file. 44/45f .COM types are the exact same so I've made one
extra routine.

ICE - This is a very unusual compressor program and is probably one of the
first executable compressors (1988). It was created by Keith P. Graham and was
inspired by the book Neuromancer by William Gibson, the author of the program
liked the I.C.E idea so much he made a PC program for it. (I.C.E = Intrusion
Countermeasure Electronics) it only works on .COM files and was a one off so
only version 1 was ever released, it not only compresses but encrypts the
code as well which means I had to use a new decryption routine. Not many files
are touched by ICE but I felt I should include support. I found an ICE'ed file
in the FrontDOOR 2.10 Register program. Keith also wrote in 1985 a 360k disk
squasher and more recently the program TXT2COM used by Apogee for their Doc
and catalog files, Keith pops up all over the scene !

PKLITE - PKLite is a rather slow and crap system but the fact that its made by
the people at PKWARE makes think people think its safe and is decent. I only
have versions 1.03/13/14/15 so if you have another version let me know where I
can get it.

Pro-Pack - I found a trainer compressed with this so decided to add it to
the collection, since I've only tested it on one file It may be buggy. I
also dont really know where or who makes it, I think it is Rob Northern but
I cant be sure.

Protect! - I have only found a copy of a file protected by version 1.00, how
did I know this, well UNP told me ... UNP also told me it was either 1.00 or
1.10 so I take it that both are the same (or one is a bug fix or something)
I however did NOT copy any code from UNP, after finding out it was compressed.
All coding in UN-COM was written by myself, Z-N0TE. On with the story ...
Protect! v1.x is really lame, it is probably only effective against Turbo
Debugger REAL mode as even with DEBUG (yes, friends I didnt even use Soft-ICE)
I had it cracked within one minute.

sCef - This is not what the compression program is called but since it doesnt
tell you inside compressed files I'll stick to calling it sCef, the reason is
that sCef appears in the first few bytes of the .COM files. Nothing much to say
about this, its small, tidy, encrypts COM files well and compresses them. Its
used by the PC Underground and in particular The Humble Guys and Rescue Raider
of INC for their trainers and loader crack programs.

TinyProg - This was claimed to be really cool by the author but it sucks and
was very easy to crack open. It converts .COM to .EXE which is a bitch but
I still got it to work. Enjoy.

YuK Encryption - Danny K. from a group called YuK has released a Terminate
registration program (Terminate is the BEST ever Comms program) that generates
a Key file, I dont know how many other YuK encrypted files there are but I've
only tested it on that one file, so I'm not saying it will work on ALL YuK
files. UPDATE ... I have know tested this routine on about 5 different YuK
files and it works perfectly ...

Help Me !!!
~~~~~~~~~~~
If you have a program that : A) Encrypts .COM files
                             B) Compresses .COM files
                             C) Or both.

Try to get in touch with me and I will TRY to include support for it in a
future version. Also any OTHER version of programs I ALREADY support would
be great, even if its version 1.00 !!!

Author Info
~~~~~~~~~~~
I am 15 and have been programming the PC in assembler for about a year, I'm
into techno thrash music, I live in Scotland (Europe). I can be contacted on
some boards in the USA, I NEVER call anywhere in the UK/Europe as I'd have to
pay for the call ;-)

Greets : AVENGER/OPM                                  (Author Of TRON)
         THE FiRM/THE SOFTWARE SURGEON/E.C.R.    (Authors Of PKUNLITE)
         BEN CASTRICUM                                 (Author Of UNP)
         JOHNPC & CV-TASSLE                       (Authors Of DISLITE)
         And everyone else involved with defeating software protection.

Fuckings : JEREMY LILLEY                          (Author Of Protect!) ***

*** - Because be ripped off a polymorphic mutation engine from a virus group
and included it in his own code without crediting the group, and he charges
for use of his program ...
History :

(Genesis)
v1.00a - Includes 15 different types.                     Released 12/27/1993
v1.00b - Includes COMPACK 4.5. No bugs, reported.         Released 12/30/1993
v1.00c - Includes Protect! v1.00/1.10 & Pro-Pack v2.08.   Released 01/04/1994

Catch You All L8r ....

                  -+*([ Z-N0TE -/- SiAC'94 -\- JAN 1994 ])*+-
