Universal Extractor

Alexandre Detiste alexandre.detiste at gmail.com
Thu Feb 12 06:12:19 UTC 2015


> > but it is GPL-2 and we can use as a reference
> 
> Sorry, I already tried, and it isn't so useful - it's just a frontend.
I mean, as a starting point.

> For instance, the unpacker we'd need for the RTCW installer and the Jedi
> Academy patch (if I remember correctly) is
> <http://www.angelfire.com/ego/jmeister/hwun/index.html>,
this GUI also propose me E_WISE

> which is source-available but non-DFSG, 

indeed, but E_WISE is DFSG:
{
   Copyright (c) 1995 by Oliver Fromme  --  All Rights Reserved

   Address:  Oliver Fromme, Leibnizstr. 18-61, 38678 Clausthal, Germany
   Internet:  fromme at rz.tu-clausthal.de
   WWW:  http://www.tu-clausthal.de/~inof/

   Freely distributable, freely usable.
   The original copyright notice may not be modified or omitted.
}

> and appears to be written in a
> DOS-specific dialect of Pascal, with comments in German.
E_WISE code is in German too,
but I'm already used to work with SAP crap with mixed German words.


E_WISE will extract 00000001.EWI to 00000186.EWI ... extremly slowly;
then hangs forever.

still we get all needed files:

for a in $(md5sum $(ls -1 *.EWI) | awk '{print $1}' ) ; do grep $a /home/tchet/game-data-packager/data/rtcw.yaml ; done 
  d0c13dcf44a7baa7741af50e09844371  main/autoexec.cfg
  ce92b11df889cb0a045762bb5fd7cde5  main/pak0.pk3
  f19c389fe6310c24e664bc0fc84fdd95  main/sp_pak1.pk3_fr
  330b272d5261fe19fcf3c3fbc943c7f3  main/sp_pak2.pk3
  62641cffd9a8ad0f62cc1cca867d51f8  main/mp_pak0.pk3
  22b972974f499a237c96a2200b0d019e  main/mp_pak1.pk3
  30f29ffa81748a957e0441af8c14cb56  main/mp_pak2.pk3

ftp://ftp.unitrends.com/outgoing/fmaggio/uniextract161_noinst/docs/hwun_readme.txt
says that,
>  You'll recognize a speed loss of about 50%-75%
>  which is simply caused by my selfmade inflate
>  routines. 
>   But: HWUN is still much faster than E_WISE
so the speed problem is expected

zlib speed > HWUN > E_WISE

> If we're OK with running random Windows executables under Wine
I'm not ok with that; I can do it on my pc,
but won't ask someelse to do it.

> HWUN does point to one interesting bit of information, which is that
> each installable file in a WISE installer is normally a raw deflate
> stream at some offset in the installer binary. If we can work out the
> offsets and lengths once (for instance by running the precompiled HWUN
> executable in a sandbox, although it's really really slow for something
> as big as RTCW), we could maybe hard-code those in the YAML, and teach
> g-d-p to unpack them with zlib...
I'll convert the logic in pascal to python; I just would like to find
some random smaller installer archive to begin with.

If E_WISE can extract data without offsets, a Python version should be able to do the same.
We don't really need filenames, we have md5sums.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: universal_extractor1.png
Type: image/png
Size: 25679 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-games-devel/attachments/20150212/eb1abd5b/attachment-0001.png>


More information about the Pkg-games-devel mailing list