Multi Depacker

From Atari Wiki
Revision as of 12:26, 31 October 2006 by Zorro 2 (talk | contribs)
Jump to navigation Jump to search


             +----------------------------------------------------+
             |                                                    |
             | Instructions for 'Multi Depacker v1.5' by MUG U.K¿ |
             |                                                    |
             |            Finished on 14th June 1992              |
             |                                                    |
             +----------------------------------------------------+


                        Released into the Public Domain
                        -------------------------------


Introduction
------------

This program was written as an aide to the myriads of demo-breakers,
nosey hackers and interested people of all levels and skills to save them
from using a disassembler to unpack and save out data and executable files
that have been packed using a selection of the best available packers in
the Public Domain.  There are other uses, including unpacking a program that
you had previously packed with an outdated packer (eg. original file was
packed with Automaion v2.4), and then repacking with the latest top-notch
packer (eg. Atomic v3.5).

This is my first update and was mainly due to cries from contacts I know
and some I didn't know, whom I now know (if you know what I mean !!)
sending me new - and sometimes older and more obscure - packers asking (and
sometimes demanding) that Multi Depacker v2.0 be released !!  So for the
people who have been crying, demanding, stamping their feet with anguish -
I present my 'Multi Depacker v1.5' !!


Technical Stuff
---------------

The files required to be kept in the same folder are:-

MULTIV15.PRG
MULTIV15.RSC
MULTIV15.DOX

Do not seperate these files or edit them.  You can archive them for bulletin
boards if you so wish.  As usual, this program is Public Domain.  It is my
copyright, but you can stock it within a Public Domain Library or on a BBS
with my full consent.  Magazines that have Cover Disk mounts (ST Format,
ST User & ST Review etc), CANNOT publish this program with my prior consent
and appropriate payment.

Also for the myriads of disk-based magazines who are published via Budgie, or
via any other means (Maggie, Ledgers, DBA, HP Source etc.), you can include
this program on your current and any forthcoming issues with my full consent.
Although I have most probably already sent 'Multi Depacker v1.5' to you on the
day of release.  Other groups who make up utility disks can also include this
program (so long as all the files are kept together) if they see fit.  After
all, it is a very handy utility for most people to have in their collection,
so why not SPREAD IT !!  


More Technical Info
-------------------

This program will allow you to depack ANY file that has been packed with
any of the following packers:-
        
Atomic v3.1             Atomic v3.3             Atomic v3.5

Automation v2.3/2.4     Automation v2.51r       Automation v5.01

Ice Packer v1.13 (data ONLY at present)         Ice Packer v2.11
Ice Packer v2.12        Ice Packer v2.2         Ice Packer v2.31
Ice Packer v2.34        Ice Packer v2.40

Fire Packer v1.01 (data ONLY at present)        Fire Packer v2.01

JAM Packer v2.4         JAM Packer v3.0 (LZH/V2)   
JAM Packer v4.0 (LZW/LZH/V2/Ice)

Pompey Pirates v1.9a (data ONLY at present)

Speed Packer v2.0


Twenty-one different packers, which makes a total of 47 different file
types that can be loaded in, depacked and saved out again !!

When I say 'any file' - I mean ANY file, either executable or data files.
The only (obvious) exceptions are where I have been unable to fully
incorporate a depack option for the executable files generated by some
packers, without having bombs and other crashes occuring !!


I've Even Tested It !!
----------------------

I've tested this program on both data & executable files packed with the
above packers.  The testing was done on a bog standard TOS v1.2, with 1
Meg of RAM and a hard-drive.  I have included enough error-traps to stop
the depacking of 1 Meg files on a 512K system etc.  The most common error
on 512K machines, is that with the majority of the packers I am using, they
depack from one address to another, therefore I require two buffers.
If the file that is to be depacked is 100K and the unpacked length is 250K,
then you will be unable to unpack this file on a bog-standard 512K machine.

For the next update (v2.0), I shall (probably) write a .TTP version, without
any fancy dialog boxes etc. to enable the really BIG files to be depacked on
any machine.

The majority of the packers recognised by this program were written by
Axe of Delight/Superior.  Depacking the packed files was (and still is !!)
a much needed feature missing from these otherwise excellent packers.  This
is especially annoying if you had just packed your only copy of a much
needed file !!  If his next update does not provide a feature for depacking
files, I will be writing an 'Ice Packer Shell' soon (with thanks for Mark
Matts for Frontend¿ - buy this if you are a GFA utility programmer and you
want a nice interface for your programs) which you will be able to do lots
of things with !!  I may even make it a multi-shell if I can find any more
packers that have a command-line option.

The other packers were added bit by bit over a period of a week, and halfway
through that week, I scrapped all the text-printing and opted for a much
easier to use 'GEM' front-end.  Depacking files is now much easier than in
previous incarnations of this programs' predecessor - 'Fire & Ice Depacker',
which was officially released on The Source Menu 79 (Hi! to the other
comrades in this group:- Kalamazoo, Speed, Egon, JJF & IWWWTTI).

For this update, as well as adding a few(!) more recognised packers, I have
fixed some bugs that were rearing their ugly heads in my source code.  You
might also notice that every dialog box now has a default option, so most
redundant options (ie. no functions) can be exited by clicking on the
relevant option (if you are a mouse-fanatic) or by pressing Return (if you
are a lazy sod like me !!).


Using The Program
-----------------

Seeing as I saw my original Multi Depacker v1.0 appear on countless menus
and disk magazines, I guess people actually liked a MUG U.K¿ creation rather
a lot (the last time that happened was way back in 1989 when a little known
virus killer was born !!).  I have therefore decided to release this version
with a 'Spreading Credits' box detailing who originally had this copy sent to
them direct.

The next dialog box is the main menu.  From here, you can have another
look at the information dialog box, depack files, see how much memory you've
got left and finally quit back to the Desktop.  I have also put in a greetings
page to all my good contacts & friends (included are some of the ones who
demanded this update - but you know who you are !!).

Seeing as this program is primarily a depacker, the major option to go
for is the 'Depack And Save Files'.  Click on the button and you will be
presented with a file-selector which wants the filename of a packed file.
Clicking on 'Cancel' or selecting a non-existant file will result in an
alert box telling you of your mistake, and an option to try for another
file or returning to the main menu.

I must state here and now that this program depacks files that have been
singularly packed and not packed with an archiving program (eg. ARC, LZH,
ZOO etc.) as the latter are well served with utilities and shells.  My
program is geared towards the singe-file packer.  It packs one file on that
files' merits and nothing else.  There are a plethora of these packers in
existance, so check out a PD Library, compact disk (eg. by The Source) or
other dubious types of CD (!!) or disk magazine for these programs.

Once you've found a file that you know is packed, it will be loaded into
memory and examined .  After first checking whether the file is a
program file or not, it will then check for the existance of the various
packer headers (eg. 'LSD!', 'ICE!', 'FIRE', 'ATOM', 'LZH' etc.).  In the
case of some programs, there are no headers, I poke around (literally) and
create these headers if I know that the file is a packed one !!

If any disk errors occur, you will will prompted by an alert box asking you
to retry and get another file or cancel this operation and go back to the
main menu.  If the selected file is NOT recognised, then you will returned
back to the main menu (after an alert box has told you that your selected
file was not recognised - Idiot Proof Programming: Lesson 1).

If the file is packed, a dialog box will appear with the following
information on it:-

  i) Which packer was used
 ii) Executable or data file
iii) The length of the file (in disk-space terms)
 iv) The length of the packed file (as the packer knew it as)
  v) The length of the unpacked file (as it will be AFTER it is unpacked)

The reason for including both (iii) & (iv) on the screen, is that some files
I found would be 20K in length, but the header would say it was only
18.5K in length !!!  One explanation is that some programs contain two
sections, hence the numbers displayed on the screen would be a bit odd. An
example of this is 'Digi Composer v1.0' by Istari.  It contains two programs,
an intro and the actual tracker.  The intro is depacked first, and then the 
tracker.

Another reason is that when you depack a program file, the file-length will
differ from the actual length of the packed data because the program needs
a depack routine to unpack itself, and relocate it to the original address !
If you find that the lengths differ by around 1000 bytes on a program file,
then you should be OK .......

There are two options on this dialog box, and they are pretty obvious to
understand.  One will depack the present file, and the other will return
you to the main menu.

There is a third option, smack bang in-between the other two options
entitled, 'Split File'.  This option is not yet available until I can get
it working with Pompey Packer files.  In theory, if I cannot depack a file
as a program, you will be told to split the file which will remove the
program header and create a data file which makes my life a damn sight
easier (lazy sod aren't I !!).  So, until v2.0, you won't be able to
depack any Pompey Pirates program files (v1.5 - v2.6 !!) or the eariler
versions of Ice and Fire packers.

If you are depacking a Atomic v3.1/v3.3 data file, you are given the option
to choose which depack routine.  If you select the wrong one then this program
will more than likely depack your file into complete garbage or even worse,
it will bomb out !!  The reason is that the header (ATOM) is the same for
either version of these packers and the depack routine is not compatible
with the other version (unlike the Ice Packers !!).  In v2.0 of this depacker
the situation will be made even worse when I add the 'Thunder' range of packers
as these have an 'ATOM' header as well.  So I will be leaving the guess work
upto you !!

Each depacker will flash a different colour, so as to differentiate between the
different packers.  If you have a monochrome monitor, you will probably
end up with a bad headache after depacking a lot of files !!  I suggest you
don a pair of Bitmap Shades (Hi! Slasher !!) before you start depacking
a lot of files (colour OR monochrome), unless you're into flashing colours -
in which case you either like naff acid/rave music and I suggest you go take
a trip (the walking kind !!) to your nearest GP, who will prescribe some
decent music to listen to and counsel you on your wierd behaviour at these
oddball sessions of manic arm-pushing and body-jerking (and I thought
head-banging was detremental to MY health !!).

Another file-selector will appear asking for the depacked file.  You have
the option of overwriting the packed file (not very wise !!) if you require,
or simply enter a new filename as it is up to you !!  After this operation,
you will be returned to the main menu where you can carry on depacking more
files, or quit and take a peek at the newly unpacked files.

That's all there is to my little program.  It works with almost everything
I've tried, with one or two exceptions - but I'll let you find them out
for yourselves !!  If you have any really major hassles then drop me a line
at the address down below (oo-er !!).  I am really a nice guy to write to
if you have any problems .... so long as you do not sound like a prat when
you write OR (even worse) you are a pirate !!  See below for details.


End Bit:
--------

Since I was testing this program heavily I noticed a few things with the
various packers.  Here are some notes I made (bugs I discovered !!).

i) If you write (like I do) prodomimently in GFA BASIC v3.5/v3.6, and you
   want to pack your program files,  DO NOT use Ice Packer v2.2/v2.31 or
   Fire Packer v2.01, as your program file will not work at all (two bombs).
   You will have to use the Ice Packer v2.40 (ST News 6.2 edition).

ii) If you use the Automation v5.01 and pack a lot of data files, beware
    of using it from a hard-drive !!  The problem is that your resultant
    files are filled with $00 & $FF ONLY !!  Not even the header (AU5!) is
    included.  This happens with the normal, buffer and chunk pack options
    and I do not know exactly why this occurs.  My (bad) theory is that this
    update does not like my (or anyone elses ?) hard-drive !!!  The error
    does not occur when you run the program from a floppy, but only when
    it is run from a hard-drive partition ??  Well, EGB, work that one out
    if you can !!  I use the Supra Software v3.11 driving a Megafile 60, if
    this is any use to you !!

iii) This is not an error, but a bit of a pain.  The Atomic packers will
     not output a packed file that is of an odd length !!  No problem
     to 99% of files, except when it's NeoChrome Master which checks its
     length for link-virus infection !!

iv) Atomic v3.5 does not work with a lot of programs that every other packed
    in the whole world will work on.  This is especially annoying for me
    as it doesn't like GFA BASIC v3.6 programs !!  So when you do an update,
    please make it compatible !!

v) Speed Packer v2.0 does not work if you have got GDOS present.  I only
   found this out by accident, but it may throw some light on the subject
   if you load it and wonder why it exits back to the desktop immediately !!


If you can help me (or if you are the author of the packer in question, please
write to me with your latest version), then write to the address near the
end of this document file.

DO NOT send ANY form of pirated software, as I am NOT interested.


In the next version .....
-------------------------

The next version of this 'Multi-Depacker' will be released when I'm
ready.  I have another 10 or so packers that I will be including, plus
the 'no-frills' version that will come with it so that 512K owners can
depack large files.

The other main program will be a proper 'De-Chunker' for Automation v2.51
and v5.01 chunk packed files.  I have finally written a routine to depack
these files.  The problems I am having at the moment are with the very
last chunk in a file not being depacked and the occasional time when a 
chunk is not packed !!  But never fear, I am not going to be beaten !!
When it is released, you can un-chunk a 500K lump-file which has been
chunk-packed on a standard 512K machine, without having to worry about
a shortage of RAM in your machine.

My thanks go to JPM who replied to my plea and sent me some very nicely
explained depack source which I have included in this version.  Thanks 
once again.  How about PP v2.6 this time - I've managed to work it out
myself, but a nice documented/idiot proof version wouldn't go amiss !!

The following packers WILL be included in Multi Depacker v2.0:-

Bytestrangler (all versions)
Powerpacker v2.0 - v4.0 (Amiga packer)
Pompey Pirates (all versions - I hope !!)
QPAC 3 by JMP
Sentry Packer v2.01 - v2.05

(providing I don't come across any incompatibilities !!)

If you are wondering why I am going to include an Amiga packer, the reason
is simple.  For those people who are lucky enough to own both machines, or
they know someone who owns an Amiga (the normal kind, not the games-playing
nose-in-the-air-bigot type) and they want to transfer text-files, IFF pictures
or Protracker modules across to the ST, they will find the majority of them
will of been packed with Powerpacker.  I had hoped to include a working
version of a Powerpacker decruncher in this version, but after MSD had played
around with the source code, it would leave the first 20 bytes of a file
blank !!  This may of sufficed on text files, but with an IFF picture, this
would make the file totally useless.  If 'Maverick' of The Light (or anyone
else) could send me a working Powerpacker depack routine for the ST, I would
be very happy.

I am also after anyone who can get a packed file, work out the depacking
loader (ie. crack it) and send the source code to me.  You will have to be
pretty adept at 68000 and conversant in GFA BASIC.  I am especially after 
depack routines for 'PFXPACK', 'PROPACK' & 'PAMPUK' - the one-file RAMdisk
packer - for inclusion in a further update - plus any others that you might
of 'cracked'.  If you are able to help, please write to me at the address
below.

And for all those who asked for it (ie. Prophecy PD & Spiff of Orion), there
will be a wildcard feature in the next version (I promise).  Either it will be
a straight 'select the source & destination directories and leave me to it'
type of program OR 'make up a script file containing the source and destination
files' type of program.  The latter is much easier to program and will
probably be implemented.  The former, whilst it is a nice feature, is a waste
of memory - especially if you want to unpack a whole disk to another (or
even worse depack a partition to another partition !!) as I will have to
hold all the filenames for the source & destination disks in memory !! 

Of course, if you think there are any features that could be added, you know
where to direct your replies/suggestions - workable from GFA v3.6 - please !!



End Bit
-------

Have fun depacking, hacking, poking about and generally being very nosey
with other peoples (previously) packed files !!

If you really find this program useful, saves your life with packed programs
not depacking on your version of TOS etc. etc., spare a thought for me, 
toiling away at unsociable hours (8.30am - 5.30pm), having to listen to
'Radio 1' all day long (and you know what the music they play is like !!) 
- except maybe for Jackie Brambles & Steve Wright (and The Posse) whose
shows keep me going through the day (do you know how boring mending hydraulic
pipes is ??).  I then come home and start work on my many programs (including
my 'Professional Virus Killer' - plug !!) answering letters and God knows
what else that I shouldn't be doing too much off (oo-er) - just so you lot
out there can benefit ....... SO SEND ME SOME MONEY YOU TIGHT WADS !!


MUG U.K¿ - 14/06/1992



Depacker Credits:
-----------------

Depacker Program
RSC Design
Documents
Coffee Drinking:                    MUG U.K¿ - v1.0 = 29/11/1991
                                               v1.5 = 14/06/1992

Background Music:                   Metallicas' new album "Metallica"
                                    Extremes' "Pornograffitti"
                                    Iron Maidens' "Fear Of The Dark"
                                    Black Crowes' "Southern Harmony ..."
                                    W.A.S.P's "Crimson Idol"

Testing:                            Bob Clowes (as always !!)



Packers' Authors Credits:
-------------------------
 
Atomic Packers v3.1/3.3/3.5:        ALTAIR of VMAX/MCS

Automation v2.3/2.4:                OZZ of LSD
Automation v2.51:                   EGB of SHiT (Sub Humans in Turkey)
Automation v5.01:                   EGB of SHiT

Fire/Ice Packers:                   Axe of Delight/Superior

JAM Packers v2.4/3.0/4.0:           Jek and Moose (JAM)

Pompey Packer v1.9a:                JPM

Speed Packer v2.0                   Spiral of The Firehawks


Contact Address:
----------------

''address removed as shop no longer exists!''


Any problems, queries, questions etc. should be sent to the above address,
and don't even think of writing if you want pirated software !!  I get
extremely FED UP with people who write to me wanting the addresses of the
various pirate groups.   I DON'T KNOW THEM - SO *ISS OFF !!!

I will keep all the disks & burn the letters from these idiots.  If you
want a game that desperately, go out and buy it !!  It could be worse and
I send your letters directly to a nice Mr. Hays at FAST, but seeing as they
are only interested in people selling pirated software, it would be a waste
of time on my behalf (and stamps too !!).

One last thing, if you are a kind generous person who has got a spare bit
of money lying idly about, don't send me a cheque made payable to 'MUG U.K¿'
as I get strange looks from the staff at my building society !!  If you
really must send a cheque, make it payable to 'Mike Mee' (stop sniggering at
the back - I can't help my surname !!).

If any sysops of a BBS see any comments directed to me regards this version
of the 'Multi Depacker v1.5', please send them to me at the above address.
I do not own a modem so I cannot access BBS's to read the comments.


Bye for now !!


MUG U.K¿ (of The Source)



Back to Packer/Depacker