Solved

EXE - compressed but executable

Posted on 1998-07-05
26
563 Views
Last Modified: 2013-12-29
I know there used to be a progam around that could compress EXE-files in a way that would leave them executable (was it lzh??). When the (compressed) program was double-clicked, it decompressed itself to memory and then started.

Does anybody know which program does this and/or why this approach was not more successful? With faster and faster processors this seems like a good way to make programs load faster or send executables that don't need to be decompressed first!

P.S.: I am NOT talking about the Windows NT compression! The effect would (hopefully) be the same, but it should work in Windows 95 and not require any drivers. This is just native code that expands the program before running it and it used to work in DOS...

I'll increase the points for good answers
0
Comment
Question by:Ronald112197
  • 7
  • 6
  • 6
  • +5
26 Comments
 
LVL 14

Expert Comment

by:smeebud
ID: 1716590
PKzip, remember that one.
it does it easy.
I think Winzip does too.
Read your help file for your Winzip, you probablt don't need anything else.

Bud
0
 
LVL 2

Author Comment

by:Ronald112197
ID: 1716591
"Look at the helpfile" is not really the answer I'd like to get from an expert!

I don't think WinZip can do what I'm looking for - on the fly extraction (I'm NOT talking about self-extractors!)

Can you tell me where that feature is supposed to be? It's not mentioned in the help file (as far as i can tell)
0
 
LVL 14

Expert Comment

by:smeebud
ID: 1716592
Ok. You don't like the Winzip help.
PKZIP makes Self-extracting .EXEs.
If you have Norton Navigator, it does even a better and easier job.

You should reject my answer however and let a real expert answer.

Bud
0
 
LVL 2

Expert Comment

by:happy1
ID: 1716593
Hey, Ronald
if what U want is - a compressors/decompressors for executable
files (at run time) - then Bud was right. There was only small typo:
he was referencing to PkLite, not a PkZip:).
And BTW - he IS a real expert.
Also if U want MUCH more similar utilities (like: wwpack, shrink, diet,
tinyp, rjcrush, exepack ..), then use in search engines instead of
compressors or archivers - pack or packer, like this: packer+exe.

Or U may want to check these:
http://www.devinfo.com/archives/simtel/msdos/execomp/
ftp://ftp.cs.tu-berlin.de/pub/msdos/mirrors/stuba/pc/pack/
Happy®One
 
0
 
LVL 14

Expert Comment

by:smeebud
ID: 1716594
Hi Happy::::::))))))))
Bud
0
 
LVL 2

Expert Comment

by:happy1
ID: 1716595
Hi :))
Happy®One
0
 
LVL 2

Author Comment

by:Ronald112197
ID: 1716596
I was not saying or even trying to imply that smeebud IS not an expert - I've seen the name before *g*

What I was saying is that I don't need an expert to tell me that I should read the help file, I need an expert to tell me how it works, because I still think that WinZip doesn't create the file I am looking for - I specifically said: "(I'm NOT talking about self-extractors!)", but about "on the fly" extraction

If smeedbud can tell me how to do it with WinZip I'll be happy to accept his answer - otherwise I'll give the points to happy one because the URLs look like they have what I was looking for - looks like my guess (lzh) was not so wrong after all... I'll take a look at the programs and can't wait to see if they work in Windows 95 and NT... (? - looks like they are DOS programs - almost all of them older than 5 years *sigh*)
0
 
LVL 2

Expert Comment

by:Serg
ID: 1716597
Man, if you're gonna be such a pain you might as well put more then 20 point on the question....
0
 
LVL 2

Expert Comment

by:happy1
ID: 1716598
Ronald,
yes, many of these prgrs are pure DOS utilities,
but remember that native PkZip - most famous archiver is
also a DOS prg and U can see .zip files everywhere.
Look carefull and U'll find many utilities which will compact
not only Win95 .exe files, but also and WinNT.
Some examples:
--------
PAK short technical description
.
6. PAK was tested under DOS, Windows 95 and Windows NT.
--------
--------
Copyright (c) 1993-1994 by Yellow Rose Workgroup.

PACKWIN compresses Microsoft DOS and Windows programs,
to dramatically reduce their size.  Programs compressed  by
PACKWIN  are  functionally identical to the originals,  only smaller.  
For example,  consider the 422k "Setup" that is bundled with MS-Windows 3.1.  PACKWIN  compresses this file to less than 250k,
or 59% of its original size. The smaller, more efficient programs  save
disk space,  LAN overhead,  disk caching resources and discourage reverse engineering.

PACKWIN inputs a big program and outputs a small one.   The process
is totally automatic and requires no additional drivers and  no modifica-
tion to source code or linking.

PACKWIN can run on  MS-DOS or  Microsoft Windows environment.
------
Happy®One
P.S. Yep, many of these are old (but they work) and many use
plain Lempel-Ziv algorithm (public domain).
0
 
LVL 1

Expert Comment

by:CEBAKA
ID: 1716599
lzh . exe and  diet.exe
0
 
LVL 1

Expert Comment

by:gaestar
ID: 1716600
Winzip let you do it.  You can download it at www.tucows.com
Enjoy it.
0
 
LVL 14

Expert Comment

by:smeebud
ID: 1716601
Ron,
I don't use winzip. I used to though and I know that you can do whatyou want with it.
That's why I said read the help.

Norton Navigator eliminated the need for Winzip.
If you could tell me what you mean by, "on the fly" extraction", I may be able to help.

Bud
0
 
LVL 2

Author Comment

by:Ronald112197
ID: 1716602
CEBAKA: the answer is correct, but I think that was well established. Happy1 wrote it before!

smeebud: What I mean is what the title to this question says: The file should be compressed but still be executable WITHOUT decompressing it first - kind of like the compression that's built into Windows NT, but that compression requires drivers. I'd be more than thankful if there is indeed a way to do this in WinZip but I still don't hink so!

The compression type I meant and Happy One describes above contains code that makes the program code extract itself in memory before running (the file is not decompressed on disk)

I guess I can give HappyOne the points because I guess his comment is the first one that solves my problem... could you still post download URLs? "PAK" returns 8000 hits...

Thanks!

P.S.: As I had promised:
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 2

Author Comment

by:Ronald112197
ID: 1716603
Adjusted points to 75
0
 
LVL 14

Expert Comment

by:smeebud
ID: 1716604
Have you ever used PKZIP??

Bud
0
 
LVL 2

Expert Comment

by:happy1
ID: 1716605
Hi Ronald,
Can I ask U - why do U need these utilities?
Of course, that's not any of my business:), but ...
here's some additional info.

From your question: ..why this approach was not more successful?..
Main goal of these utilities was to save users hard drive space and/or
CPU time. But U know how low  cost is now for hard drives, CPU's etc..
Who will care now about saving 50-100KB in executable file size?
And U understand that there is not much interest on the modern market.
But "packers" era is not ended now, yet. Development of these utilities moved now to absolutely different area - to help prg authors in their
war against crackers, ie hide some prg routines, discourage reverse
engineering etc..(plus packers widely used by virus writers, for same reason).

:( Not much success here either:)
I do not know any modern packer to which crackers not
developed back (many in just 1-2 monts) unpacks.
That's a short answer to your question above.

Now about these prgs.
"Brand names" in this field (win31 era) was PkLite from PkWare
and Winlite from Rosenthal Engineering.
Both are a commercial products.
BTW here is a small note to your attention from
http://slonet.org/~doren/ -
Rosenthal WinLite is a developers tool, not recommended for end users.
U can download this prg from there -
http://slonet.org/~doren/winlite1.zip

Also in my last comment I was referencing to 2 prgs:
pak1_0.zip and packwin.zip (both are not a super prgs,
just an examples, as packers which works in win95).
U can download both and MUCH MORE from this adress:
http://info.elf.stuba.sk/packages/pub/pc/pack.
First - read Index.html there and PLEASE, be very carefull there,  
As always, SCAN everything, what U downloaded from the Net.
I noticed that there's commercial products (sharewares from <ASP>) mixed up with many crackers utilities. For example all prgs with Ucf.. at beginning are from Russian crackers group United Crackers Force...

I hope that this will help.
Happy®One
Sorry, for my bad English:)

0
 
LVL 2

Author Comment

by:Ronald112197
ID: 1716606
Yes, you may ask :o)
Kind of complicated to explain, but I'll try:
I'm writing two programs that are supposed to be downloaded from the web and executed.
Because some of the potential users have slow modem connections, it is important that these programs are compact in size (they are about 800 KB uncompressed, which can take up to 10 minutes with a slow modem connection)

ok, now you might say: "just zip it", but some of the other requirements say
* that the program must have the capability of updating itself from the net - therefore, it shouldn't depend on any (un)packers being present on the destination machine
* of course I could include pkunzip in the distribution (only ~30 KB as far as I know), but preferably, only one file should be required for the program to function properly and provide full functionality - config files can be added, but defaults have to be supplied if no config file is found

Those are the most  important reasons why one "executable", that is yet compressed, would be the best solution.

I'll take a look at those programs and might have another question, but you can post some answer in the mean time since you've given me quite a bit of information already!

Thanks!
0
 
LVL 2

Author Comment

by:Ronald112197
ID: 1716607
6. PAK was tested under DOS, Windows 95 and Windows NT.

.. could you give me a URL where I could find this program? I really did try to find it myself but it seems like I keep getting old or wrong versions :-(((

So far, i have not found a single program capable of compressing Win95/NT programs. Maybe the packers work in Win95, but they can't compress 32-bit files!
0
 
LVL 2

Expert Comment

by:happy1
ID: 1716608
That was from pac.dsc (text file) from inside of pak1_0.zip.
3 files inside dated 02/07/98, download from -
http://info.elf.stuba.sk/packages/pub/pc/pack/pak1_0.zip.
As I said there many DOS packers, but if U look carefull U'll find
even Win95 shell prgs for them.
----------
Hi Ronald,
from your last message I'm not quite
understand: how many files in your prgs?
If only one - then use packers, but if there more then one -
then U do not need "packer",
better use "archivers" - Pkzip+Zip2exe, or Winzip; ARJ or Winrar -
these 3 are "brand names" in archivers market for PC, all these can
make selfextractor from your prg, and result file will not need ANY
file (prg) for extraction.
Why archivers better in this case? Well, packers are for a SINGLE file,
mostly for .EXE or .COM files, not for compacting prgs with many files.
BTW, if in your prg many multimedia files, like sound, picturs etc  - then use Winrar, result will be smaller.

Also that point in your message:
prg must have the capability of updating itself from the net.
This ability is a tough goal for modern programmers.
One of the ways here, if U can - use "patchers".
Can U consider for yourself distributing in future not a whole new version of your file(s), but instead - just a (1) small patcher with patch, which will do
all binary changes to your prg and even CRC check before and after applying patch.

About posting answer - sorry, I cant:)
I don't want not from U, not from anybody - any points.
Your increase of points is very appreciated, but for me enough is just
a thanks:). I'm not in kindergarden anymore and I'm not playing for points.
U have choices here: remove this question and save points for your
next question, grade any other expert here ( for example, Bud was trying
hard to help U) or do whatewer U want. This thread is yours. Sorry:)
Happy®One
 
0
 

Expert Comment

by:MarcelM
ID: 1716609
It is PKLITE.EXE.

You can find it anywhere on the net.

fe. "pklite.exe testfile.exe" will compress testfile.exe to testfile.exe and will write testfile.bak where the .bak file is the original file. The .exe is now smaller but still executable.

Marcel.

0
 
LVL 2

Author Comment

by:Ronald112197
ID: 1716610
MarcleM: I don't mean to be rude, BUT....
  have you bothered to read this thread?? Maybe you should!
  pklite was mentioned a couple of times before!

Oh btw: NONE of the programs mentioned so far can pack Windows 95/NT executables - all of them work for DOS-programs only, some of them for Win 3.1 as well.

I specifically asked for WIn95 in the question. I would be willing to give Happy1 the points because he's posted so much so far - sine he doesn't want them, I'll give the points for something that answers my question... if such a program doesn't exist, then I'm afraid there's no answer to this question...

Happy1: Yes, as I said in my question: I am looking for a "packer" that leaves ONE files executable (though compressed) - there are hundreds of archivers around and I have about a dozen of them on my hard disk...
0
 
LVL 1

Accepted Solution

by:
johncook earned 70 total points
ID: 1716611
As I read through the threads here I saw that most of the folks misunderstood the intent of your original question...
You are NOT looking for an Archival program, nor are you looking for a program that converts files into an exe file that extracts them.

What you ARE looking for is a program which will compress and executable so that when you run it...it decompresses in memory and executes as it would if it were a normally uncompressed file.

Nuff of that:

Why did they not become more popular...
1. most, if not all, of the programs that were created to do this were used under a DOS environment. Memory considerations were pretty straight forward(the programmer controlled memory allocation.
Windows controls it's memory allocation..(though a DOS program compressed in this manner may well run in a windows environment).

2. The windows, especially Win95+, environment is much more difficult to write an application of this type for..A fair amount of work would have to be done by the programmer to establish EXACTLY how win95 would allocate memory for any given circumstance.

3. Most likely...With drives and ram getting Bigger and cheaper the need for compressing the executables became less atractive.(the only major advantage as I mention below is a level of code security)


I could write more but I want to give you a URL to check out:
http://garbo.uwasa.fi/pc/execomp.html
The only examples I have been able to find are DOS compression executable utilities. You may want to consider writing the program in DOS with a graphical interface it it is indeed important to you to compress then(there is a fair amount of code security in this, it will make it more difficult for someone to STEAL your code).


Sorry I rambled...but darn-it Im good at it. :-)

Later,
John C. Cook


0
 
LVL 14

Expert Comment

by:smeebud
ID: 1716612
Very good John C Cook!!!!!!

Bud
0
 
LVL 2

Expert Comment

by:happy1
ID: 1716613
Yep, as he said -"...but darn-it Im good at it..."

John C Cook, in your so called "solution",
U suggested utilities for making
" .. it more difficult for someone to STEAL your code..."

Do U know any programs against some "experts",
who S T E A L other people solutions?

<g> I just tried to save Ronalds few bucks here,
R U now wealthy with your points?
Later, Happy®One
P.S. Hi, Bud:)
0
 
LVL 1

Expert Comment

by:johncook
ID: 1716614
To happy1,
I completely offended by your accusation.
I stole nothing... as you have been around the exchange awhile you have seen, as I have, what we would consider perfectly good answers rejected. Only to see the answer worded in a different and maybe more comprehensive manner consequently accepted. These are my words and my answer to this question...If no one else had responded this would STILL have been my answer verbatum.

The object of this exchange is to help people that is my only intent(you MAY only judge your own reasons for being here..NOT mine)...anyway - you will see by my point total that I am not out specifically for the points. I am quite certain that if I searched out your answers to others questions I would find that in many cases they would mirror other responses that were seen in that 'thread'...would I then accuse YOU of stealing NO I would not. It would not even have crossed my mind.
I guess I would say to you, in conclusion, that if you know the answer to a specific question.. then you probably should post it as an answer. If you do not, and someone else answers the question...keep quiet...don't look like a winer.;-\

Peace,

John C. Cook

0
 
LVL 1

Expert Comment

by:johncook
ID: 1716615
No I did not mean a drinker :-)
I meant a whiner... the darn 'H' just is to far away from my index finger.
J.C.Cook
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Update 11/3/2014 - Although the below article will get you to relocate the WINSXS folder, Microsoft has finally released a utility to reduce the size of the WINSXS folder. For some reason, it's not that straightforward. It only works on Windows 2008…
In this article, I will show you HOW TO: Perform a Physical to Virtual (P2V) Conversion the easy way from a computer backup (image).
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
In this video, we discuss why the need for additional vertical screen space has become more important in recent years, namely, due to the transition in the marketplace of 4x3 computer screens to 16x9 and 16x10 screens (so-called widescreen format). …

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now