ItsMods
[Request] unpack base.ipak - Printable Version

+- ItsMods (https://www.itsmods.com)
+-- Forum: Archive (https://www.itsmods.com/Forum-Archive.html)
+--- Forum: Archive (https://www.itsmods.com/Forum-Archive--64.html)
+--- Thread: [Request] unpack base.ipak (/Thread-Request-unpack-base-ipak.html)

Pages: 1 2 3


unpack base.ipak - raminr63 - 11-27-2012

Hi

Guys did someone find a way to unpack base.ipak file?!


RE: unpack base.ipak - JariZ - 11-27-2012

If somebody did it would've been posted here already.
Short answer: No.


RE: unpack base.ipak - iPaddie - 11-28-2012

(11-27-2012, 15:02)JariZ Wrote: If somebody did it would've been posted here already.
Short answer: No.

[Image: crying-meme_large.png]


RE: unpack base.ipak - SuperNovaAO - 11-28-2012

Can someone send me a small ipak file please?


RE: unpack base.ipak - House - 11-28-2012

(11-28-2012, 15:43)SuperNovaAO Wrote: Can someone send me a small ipak file please?

@Skype


RE: unpack base.ipak - Nekochan - 11-28-2012

Damn treyarch crypted everything....


RE: unpack base.ipak - kokole - 11-28-2012

(11-28-2012, 17:55)SailorMoon Wrote: Damn treyarch crypted everything....

IGNORE THIS, READ NEW POST
I dont think .ipak are crypted because if you search for "iwi" you will find matches. I just think its like rar/zip uncompressed with a custom header

Ok, so I have some info on the .ipak header (got on my own):
Code:
.ipak 48 bytes header: 0x00 DWORD - identifier ("KAPI") 0x04 DWORD - unknown 0x08 DWORD - file size 0x0C DWORD - unknown 0x10 DWORD - unknown 0x14 DWORD - data start pointer 0x18 DWORD - data size (data end = data start pointer + data size) 0x1C DWORD - probably num of files 0x20 DWORD - unknown 0x24 DWORD - unknown pointer (points to some section) 0x28 DWORD - unknown 0x2C DWORD - probably num of files

^ This goes this way: offset, size, description
Hope someone finds what these unknowns are

By the way, looks like they use 0xA7 byte for start/end padding, and 0xCD or 0x93 byte to separate files padding


RE: unpack base.ipak - kokole - 11-28-2012

Ok, so what I have posted before might be wrong: an .ipak contains different sections, and deppending on how many sections are there, the size of the header is different.

Info here:
Code:
Each section has a 16 bytes header, depending on the number of sections in the .ipak header, the size of the full header is different, example: [.ipak header] - 16 bytes [section 1 header] - 16 bytes [section 2 header] - 16 bytes Each header is of 16 bytes, so the above example file has a 48 byte header The headers of an .ipak file are the first bytes... .ipak 16 bytes header: 0x00 DWORD - identifier ("KAPI") 0x04 DWORD - unknown 0x08 DWORD - file size 0x0C DWORD - number of sections secion 16 bytes header: 0x00 DWORD - section index 0x04 DWORD - data start pointer 0x08 DWORD - data size (data end = data start pointer + data size) 0x0C DWORD - unknown Maybe each index means sound, images, and other stuff

Looks like the index for .iwi files is 2

This is what I get after examinating the file for 10 minutes Troll

Example for lazy people:
[Image: qnAVU.png]

The bytes in memory are reversed so we need to reverse 00 00 04 00 and we
get 00 04 00 00 which is 40000 in hex
We go to the position 40000 in the file and...
[Image: X5j2V.png]
We know why its the .iwi files section because its section 2 (index 2, reversing the bytes):
[Image: ma40n.png]

You could write a tool now, or I could write it when I have time...


RE: unpack base.ipak - Tomsen1410 - 11-29-2012

Really, really nice @kokole ! +1

But there is something I dont get:
Why is the pointer reversed?



The 4th section has to do soemthing with the IWI stuff aswell.(if it does exist)
Looks like the content and the locations in memory of the .IWI file or something like that.
[Image: lololoolo.png]

I dont know a lot about these things, so someone could tell me what the 4th section could be?


RE: unpack base.ipak - kokole - 11-29-2012

@Tomsen1410

When you read from memory the bytes get reversed, for example if you use ReadProcessMemory from some address that has an int32 with a value of 2, it will appear like 02 00 00 00 instead of 00 00 00 02 in memory. Don't really know why is this but just deal with it Dumb Bitch
This .ipak file is like uhm, "ready" for memory usage.