dylans Posted October 11 Posted October 11 (edited) Hello everyone, Could someone help me analyze this ITK file from DINO 3? It’s an archive file, and the beginning seems to contain a file directory. However, there are additional ITK files nested within this ITK file, and I’m not sure how to handle this. Furthermore, some of the files inside appear to be compressed. the included Script.itk. When I switch the text encoding to Japanese, I can see fragments of Japanese text. These fragments seem to be compressed, so the Japanese sentences are incomplete, but some words are still recognizable. I will upload some of the ITK files. Since some of them are quite large, I’ve only uploaded a few smaller ones. itk.zip Edited October 11 by dylans
Engineers Solution h3x3r Posted October 11 Engineers Solution Posted October 11 (edited) pack_00.itk is compressed. The small one doesn't. char Sign[4]; uint32 DataBaseOffset; uint32 ResourceCount; uint32 TotalFileSize; struct { char Name[64]; uint32 CompFlag; uint32 CompressedSize; uint32 Offset; uint32 DecompressedSize; }Table[ResourceCount]; Seems like compression is LZSS0. Here is decompressed image. Here's bms. You can also use it on unpacked itk files. They have same struct. #################################### # Dino Crisis 3 og xbox *.itk dump # #################################### get BaseFileName basename comType lzss0 idstring "ITK1" get DataBaseOffset uint32 get ResourceCount uint32 get TotalFileSize uint32 for i = 0 < ResourceCount getdstring ResourceName 0x40 get CompFlag uint32 get ZSize uint32 get Offset uint32 get Size uint32 string FileName p= "%s/%s" BaseFileName ResourceName if CompFlag == 0 log FileName Offset Size else clog FileName Offset ZSize Size endif next i Edited October 11 by h3x3r 1
dylans Posted October 12 Author Posted October 12 23 hours ago, h3x3r said: pack_00.itk is compressed. The small one doesn't. char Sign[4]; uint32 DataBaseOffset; uint32 ResourceCount; uint32 TotalFileSize; struct { char Name[64]; uint32 CompFlag; uint32 CompressedSize; uint32 Offset; uint32 DecompressedSize; }Table[ResourceCount]; Seems like compression is LZSS0. Here is decompressed image. Here's bms. You can also use it on unpacked itk files. They have same struct. #################################### # Dino Crisis 3 og xbox *.itk dump # #################################### get BaseFileName basename comType lzss0 idstring "ITK1" get DataBaseOffset uint32 get ResourceCount uint32 get TotalFileSize uint32 for i = 0 < ResourceCount getdstring ResourceName 0x40 get CompFlag uint32 get ZSize uint32 get Offset uint32 get Size uint32 string FileName p= "%s/%s" BaseFileName ResourceName if CompFlag == 0 log FileName Offset Size else clog FileName Offset ZSize Size endif next i Thank you very much! This QuickBMS script works perfectly, even on files with seemingly scrambled headers. It's truly amazing!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now