Profil von RonWelcome to the Home of R...FotosBlogGästebuchMehr Extras Hilfe

Blog


    12 November

    ESTsoft Corp. ALZip 6.7 Iceows and Software Patching

    imageOkay, so I'm going to recommend (somewhat unlike me) a commercial program. That is one which is neither free (as in free beer) nor free (as in free speech). Well, actually version 6.7 of ALZip is the last free beer release of this nifty little program, and I recommend you download it and give it a try right now.

    imageI don't think I'd ever be prepared to "pay" for a Zip program, and if I where to be convinced, it would have to be something like Iceows (formerly ArjFolder) but with a true integration with the desktop explorer (Windows Shell Namespace Extension) ala imageZip Folders  (ZipFldr.dll) or Cabinets (CabView.dll). Iceows is the closest I have seen to this (surely the most transparent) approach to archive handling in Windows. The only difference between Iceows archive folders and Zip Folders or Cabinet views is that the tool band object in the browse window is only a close facsimile of the windows explorer toolbar, not the real one.

    If you are any good with Namespace Extensions and fancy having a go at this, I encourage you to try. ZipFldr.dll and CabView.dll can be transported from one version of windows to another, and they acquire the visual look and feel of the host system, not to mention the users folder view preferences. The toolbar (an explorer band object) is specific to Iceows views, and looks worse and worse the further we get from Win95, where it was originally developed, not to mention that there is no x64 version of it, so it cannot integrate into Windows XP x64 or Vista x64 editions. Development seems completely stalled, and Iceows is ©1998-2003 Raphaël et Béatrice Mounier closed source freeware... as in free beer. Drink it once and then it's gone.

    Back to ALZip 6.7 and why I should be recommending a program that will (if you ever need to update from version 6.7) cost you money. Well, ALZip is far more simple to use than many of the other commercial achievers (WinZip, WinRAR, WinAce, StuffIt etc.) and far more presentable than the typical OSS Windows GUI Archivers (7Zip, PeaZip etc.) The most important factor, for me at least, is the context menu functionality, and the number of archive formats supported. ALZip supports 7z, RAR, ACE, ARJ, TGZ, BZ2 as well as Zips and Cabs. It's easy to select which formats it should be associated with before you even run the program. The explorer right click extension is compatible with both x64 and x86 (32-bit) versions of Windows Explorer. The main user interface is still Win32, but since that isn't required to integrate within the 64-bit explorer, it will run happily under Windows built in 32-bit compatibility mode. (you won't even notice unless you check the task in the task manager)

    It's not too intrusive, for a commercial product but does contain a number of banner Ads for ALTools in it's user interface. These don't connect to the Internet, and there is no spy-ware, and no nagging about unregistered versions. One of these I found particularly annoying, but if you find this also, you can always use my little patch (obtainable from the right) which removes the banner from the Create, Add, Extract progress dialogues. This is a simple Resource Hack, and modifies no code in the program. So I'm not redistributing modified versions of their code (I hope) only my own code to modify theirs.

    Use of this patch, is therefor mine. I give it to you freely, but if you use it, you may be breaching the agreement of the terms of the licence you have with ESTsoft Corp. If they ask me to take my patch down, I will replace it with instructions to allow you to recreate the modification your self... This is just information, given freely and without warranty. I can also assure them that I will not make any such information available for future versions of ALZip, for which free use is no longer available. So if you are not interested in paying for a GUI archive program, I recommend that you get a copy of Version 6.7 before ESTsoft decide to take it down. (as is their prerogative.)

    Hacking

    As a technical side note which becomes obvious as you start rooting around in the code of ALZip. The first thing which stands out is that the program is written in a reasonably recent version of Borland (Now Embracadero CodeGear) Delphi. Which means is could quite easily be ported to Linux, OS X, .Net with current versions of Delphi or the Open Source Lazarus Project. (I just love linking to them ;) )

    The next point one notices is that the entire project UI is built with, and skinned using BusinessSkinForm component from Almediadev. This product, in it's self is not free, and not only suggests that ALZip will never be OSS, but also explains why they are going to have to start charging for it. Hey, it's only about 20 bucks.

    The final point I will make, for anyone attempting to customize their own copy for their own personal use without the aid of my patch, is that you will find that the AZMain.dll file (which is used largely like an overlay in a DOS program rather than a true Windows Dynamic Link Library) is encrypted with ASPack. Quite why people insist on this nonsense is quite beyond me... really. If you search your favourite web search engine for UnASPack you will probably find Aaron's Homepage has a copy really quick. It will turn the 303k DLL into a whooping 1.5Meg DLL revealing the Delphi nature of the library, and a number of initialisation routines, and stream dispatchers for handling files and archives. It will also load more quickly and use less system resources during startup. Not withstanding the tripling of the hard disk space it occupies.

    Aside from that UnASPacking this DLL (the only one encrypted) get's you very little, unless you want to Olly it to determine how to interface with the sub archive type handling libraries. AzCDImage, Az7z, unacev2, unrar4.

    If you really want to get rid of the final banner in the main browser UI, I should look at the YN_BannerCreate function in ALBanner.dll. This library doesn't use DFMs compiled into the resource area of the executable image, but rather manipulates VCL components programmatically. So you will have to do a little Ollying, with a DFM / VCL eye. The object you are looking for is probably TYNBannerPanel.

    However, the images are encoded within that library as GIF streams, so you could always take the easy route out, and simply overwrite them with small, single colour GIF images (which will encode to almost nothing and thus not overwrite anything vital). The TGifStream component should stop once the GIF image has been rendered to the DC (Device Context) of the Panel and ignore anything beyond that.

    My entire point here, is that the puny protection here doesn't make this program secure from tampering. (though I wouldn't dream of doing it with later versions) And also, that it doesn't really warrant the expected future cost, to users. I do realise that the choice of tools used to rapidly develop such a nice UI require income to support their license, but... now that we have it, I for one wouldn't care if it was written in Lazarus with their VCL equivalents. If it where, it would take on the appearance of my system too, not something that looks half Windows XP and half SUSE Linux.

    A Note to the Developers at ESTsoft

    ESTsoft; I wish you all the best, your code is great. Unfortunately, I don't think I'll be buying a copy, and I fear this will be the reaction of many private individuals. If you can't turn a profit, please think to release your code to OSS. It's too nice to waste, it's just not worth the cost of your development tools. I fear that your product, while a great program and useful tool, is just too expensive to produce for the value it brings users.