Icy tower DAT [Allegro liballeg library]

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
AntonZab
Posts: 461
Joined: Thu Oct 01, 2015 5:03 pm

Icy tower DAT [Allegro liballeg library]

Post by AntonZab »

aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Icy tower DAT

Post by aluigi »

AntonZab
Posts: 461
Joined: Thu Oct 01, 2015 5:03 pm

Re: Icy tower DAT

Post by AntonZab »

After Unpack. I See. PCX and bmp not shown. Wave do not play. When unpacking wrote replace duplicate files or not. If not. That there are several files at 87 MB. Although the archive weighs just 1 mb
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Icy tower DAT

Post by aluigi »

I have updated the script to version 0.1.1 for fixing the problem of duplicated names.
For the rest the script is correct and extracts all the files.
Please note that the files are raw (headerless).
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Icy tower DAT

Post by aluigi »

I have updated the script to version 0.2 for supporting the encryption adopted by some games that use the Allegro 4.x library like Happyland Adventures (password "happy" which is automatically set by the script).
ahmedwalid605
Posts: 24
Joined: Mon Jul 31, 2017 11:23 pm

Re: Icy tower DAT

Post by ahmedwalid605 »

aluigi wrote:I have updated the script to version 0.2 for supporting the encryption adopted by some games that use the Allegro 4.x library like Happyland Adventures (password "happy" which is automatically set by the script).


What's The Pass For Icytower 1.5.1
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Icy tower DAT

Post by aluigi »

Doesn't the script work automatically?
Upload the archive.
ahmedwalid605
Posts: 24
Joined: Mon Jul 31, 2017 11:23 pm

Re: Icy tower DAT

Post by ahmedwalid605 »

aluigi wrote:Doesn't the script work automatically?
Upload the archive.


No The Script Extract Files Like ("FILENAME_FileExtension") When I replace _fileExtension with .FileExtension The OGG Only Works But The BMP Doesn't Works

Sample:
https://mega.nz/#!M40gnYiT!I1rYO6tqYGU9xqiYnfwcOQTMZ8hu20PKFfgetG1DtRY
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Icy tower DAT

Post by aluigi »

The script extracts everything perfectly and the names are those provided by the archive itself.

The reason why BMP don't work is that they have a custom mini-header instead of the normal "BM" header.
For example 001_BMP starts with the following big endian 16bit fields:
0x0010: bits per pixel
0x001e: X
0x0034: Y

Remove these 6 bytes, open the file as raw with a program that allows it (irfanview for example) and set width 30, height 52 and 16bit.

WAV* files have a similar header too composed by 3 16bit fields: bits (for example 16), samplerate (22050) and channels (1).
My suggestion is to check the source code of the Allegro library and check the fields there, paying attention if there are differences between 4.x and 5.x, probably most of games are based on 4.x:
https://github.com/liballeg/allegro5
http://liballeg.org/old.html
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Icy tower DAT [Allegro liballeg library]

Post by aluigi »

I just updated the script for making it compatible with another encryption method used in Allegro where it's just a xor of the whole archive with the password.

For example Zelda Classic https://www.allegro.cc/depot/ZeldaClassic uses this method with the password "longtan", the script has the password in its database so no modification is necessary by the user.

I'm sure many other games use passwords (packfile_password function) so, to anyone, feel free to post them here.
ahmedwalid605
Posts: 24
Joined: Mon Jul 31, 2017 11:23 pm

Re: Icy tower DAT

Post by ahmedwalid605 »

aluigi wrote:The script extracts everything perfectly and the names are those provided by the archive itself.

The reason why BMP don't work is that they have a custom mini-header instead of the normal "BM" header.
For example 001_BMP starts with the following big endian 16bit fields:
0x0010: bits per pixel
0x001e: X
0x0034: Y

Remove these 6 bytes, open the file as raw with a program that allows it (irfanview for example) and set width 30, height 52 and 16bit.

WAV* files have a similar header too composed by 3 16bit fields: bits (for example 16), samplerate (22050) and channels (1).
My suggestion is to check the source code of the Allegro library and check the fields there, paying attention if there are differences between 4.x and 5.x, probably most of games are based on 4.x:
https://github.com/liballeg/allegro5
http://liballeg.org/old.html


I made what you say but irfanview tell me Out Of Memory! and dosen't show to file(The IMG)

Is There's Any Another Way
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Icy tower DAT [Allegro liballeg library]

Post by aluigi »

I have no idea of what mess you did there :)

File->Open As->RAW file
select 001_BMP
Image width: 30
Image height: 52
File header size: 6 (so you don't even need to delete bytes)
BitsPerPixel: 16 BPP
All the other options don't affect the visualization and can't produce any error like the one you got.
ahmedwalid605
Posts: 24
Joined: Mon Jul 31, 2017 11:23 pm

Re: Icy tower DAT [Allegro liballeg library]

Post by ahmedwalid605 »

aluigi wrote:I have no idea of what mess you did there :)

File->Open As->RAW file
select 001_BMP
Image width: 30
Image height: 52
File header size: 6 (so you don't even need to delete bytes)
BitsPerPixel: 16 BPP
All the other options don't affect the visualization and can't produce any error like the one you got.


What Version You Use 32 or 64 (I Use 64)