AminetAminet
Search:
84475 packages online
About
Recent
Browse
Search
Upload
Setup
Services

util/pack/lzmaLoader.lha

Mirror:Random
Showing:m68k-amigaosppc-amigaosppc-morphosi386-arosi386-amithlonppc-warpupppc-powerupgeneric
No screenshot available
Short:Packer and loader for executables
Author:sintonen at iki.fi (Harry Sintonen)
Uploader:polluks+aminet sdf lonestar org (Stefan Haubenthal)
Type:util/pack
Version:1.3
Architecture:ppc-morphos
Date:2016-04-09
Download:http://aminet.net/util/pack/lzmaLoader.lha - View contents
Readme:http://aminet.net/util/pack/lzmaLoader.readme
Downloads:626

  lzmaLoader 1.3
  ==============

Preface
-------

During the early days when disk storage was rather expensive, or you were
stuck with just floppies, it was quite common to use executable packers
such as PowerPacker, Imploder or StoneCracker to shave off the extra bytes
off binaries. Since then storage media has become ridiculously cheap, but
yet in some specific cases you might still want to compress executables.

Due to obvious reasons PowerPacker, Imploder and StoneCracker only work
with m68k binaries, so for now MorphOS users have been left out in the
cold.

Fear not, the remedy is here: lzmaLoader.

lzmaLoader allows you to use the state-of-the-art compression algorithm
LZMA (of the 7-Zip fame) to compress MorphOS ELF executable and then use
the lzmaLoader to automatically decrunch and execute the binary.


Usage
-----

Use the lzma application (included) to compress the ELF binary. Append the
resulting compressed file after lzmaLoader.

For example:
1.> copy lzmaLoader T:myprogram.packed
1.> lzma e myprogram -so >> T:myprogram.packed

Another example, this time using ksh:
$ (cat lzmaLoader; lzma e myprogram -so) > /T/myprogram.packed

If your binaries are targetting MorphOS 2.5 or newer, you can use the
lzmaLoader_shared to gain even smaller binaries. The resulting binary
depends on the lzma.library being present to run.

For best results you should strip the ELF binary before you lzma it.


Technical limitations
---------------------

lzmaLoader doesn't support programs which attempt dirty tricks with the
program seglist. Making lzmaLoader applications resident doesn't work as
expected, either. Streamed LZMA files are NOT supported. Appending invalid
data after the loader will result in fireworks.

During loading the memory usage maxes at roughly double the original file
size.


Requirements
------------

lzmaLoader requires MorphOS 1.4 or later. While the resulting program might
run under older MorphOS releases aswell, this is not officially supported
or guaranteed to work in the possible future lzmaLoader versions.

lzmaLoader_shared requires MorphOS 2.5 or newer (lzma.library).


Legal
-----

lzmaLoader is freeware and copyright © 2007-2011 Harry Sintonen. lzmaLoader
decoding routine is based on the Public Domain LZMA SDK.

'lzma' is by Igor Pavlov and is Public Domain. See lzma.txt for details.

Executables appended to lzmaLoader or lzmaLoader_shared are not subject to
any legal restrictions placed herein.


History
-------

11-Aug-2007 - initial release
04-Feb-2009 - second release. smaller loader. DisplayBeep() on errors.
06-Jul-2010 - third release. added hand optimized lzmaLoader_shared.
13-Aug-2011 - fourth release. fixed a bug loading command from path location.


  Harry "Piru" Sintonen <sintonen at iki.fi>


Contents of util/pack/lzmaLoader.lha
PERMISSION  UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP     NAME
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[generic]                 6984   19655  35.5% -lh5- e028 Aug 13  1980 lzmaLoader/docs/lzma.txt
[generic]                 1356    2774  48.9% -lh5- eb51 Aug 13  1980 lzmaLoader/docs/lzmaLoader.readme
[generic]                57988   57988 100.0% -lh0- 250b Aug 13  1980 lzmaLoader/lzma
[generic]                 2201    3412  64.5% -lh5- d701 Aug 13  1980 lzmaLoader/lzmaLoader
[generic]                  276     380  72.6% -lh5- 8e40 Aug 13  1980 lzmaLoader/lzmaLoader_shared
---------- ----------- ------- ------- ------ ---------- ------------ ----------
 Total         5 files   68805   84209  81.7%            Apr  9 20:32

Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>