• Decompressing and Extracting an unknown archive format?
    14 replies, posted
Hey! I'd hate to ask something like this on here again, but I was really hoping someone might be able to enlighten me on this one. Honestly, I don't have a huge amount of experience with programming and archive formats in general. I've had a few people look at it, I was told by someone that it's very likely to be 'Zlib' file compression. The problem is that I've tried a whole bunch of programs that can potentially decompress zlib but none of them seemed to do the trick, and I was hoping someone who knows more than I do might be able to take a quick look. My understanding is that decompressing might potentially be the more reasonable job, while extracting it would require knowledge of the full structure of the archive and it's files..and that's likely a whole ton of work unless they were all common files. They're likely mostly 3D models and textures in here, but I couldn't possibly know the full contents currently. I was hoping someone might be able to figure out how to successfully decompress this for me, and I'll try my best to take it from there. Thank you so much for reading this, I sincerely appreciate any help I can get! Appreciate it, Dan Here's the archive I'm referring to: [url]https://dl.dropboxusercontent.com/u/3623911/3D/Programs/Mega2.megapack[/url] (P.S.: My previous thread someone pointed me to look into Xentax forums, but unfortunately my thread there failed to attract anyone who might want to help me out.) If anyone would like some more information, don't hesitate to ask and I'll see what I can tell you!
I can't find any documentation on it's hex signature
Got any smaller archive? I was gonna look into it but i don't want to wait an hour to download. Edit: Nevermind got the file.
It's not zlibbed, there are tons of raw strings in there which we wouldn't see if it was. [editline]7th September 2014[/editline] These fourcc's occur very often: AHSM, 14038 ALBS, 999 Textures/mesh data perhaps?
[QUOTE=proboardslol;45906151]I can't find any documentation on it's hex signature[/QUOTE] Hmm, so what does that effectively mean for me? How much would that change the chances of getting this archive opened up? Either way, thanks for sharing your time! [QUOTE=cartman300;45907619]Got any smaller archive? I was gonna look into it but i don't want to wait an hour to download. Edit: Nevermind got the file.[/QUOTE] Sorry about that, I was hoping the download wouldn't be too long, my bad! This one was the smaller of 3 archives.. [QUOTE=NovembrDobby;45915774]It's not zlibbed, there are tons of raw strings in there which we wouldn't see if it was. [editline]7th September 2014[/editline] These fourcc's occur very often: AHSM, 14038 ALBS, 999 Textures/mesh data perhaps?[/QUOTE] Well that's a relief at that the least. If I know for sure it's not zlib then that's still progress. I definitely appreciate you letting me know! :) As for the mesh/texture data. I know one of the other megapacks has some texture data and definitely uses DDS and DXT textures in combination. I don't have a clue what the formats for the models are, I was originally concerned that the models would be a proprietary format, but the DDS and DXT give me some hope at least. And again, thanks a bunch for taking some of your time to help me out! I do appreciate it!
[QUOTE=UnknownToaster;45919885]Hmm, so what does that effectively mean for me? How much would that change the chances of getting this archive opened up? Either way, thanks for sharing your time! [/QUOTE] Well you know how everything on computers is binary? well binary is Base-2. Hexadecimal is Base-16, because sometimes it's easier to write things in base-16 than base-2. So if you open up a file in a Hexademical editor, then you will effectively find all of the data inside of the file, in hexadecimal (and binary) form. The first few data points in the Hexadecimal file are called its "signature", which basically is something that programs use to identify its filetype. the Rar Hex signature, for example, spells out "Rar!". This files Hex signature is a few random characters, and I can't find any other files that have a similar signature, which means theres probably no commercially available software that can natively open this file. which means your solution to opening it will have to be more... homebrew. tl;dr: chances are low
If somebody has a documentation of this, or reverse engineers it him/herself, i could make an extractor.
I think i pointed you towards Xentax because it's a community dedicated to those kinds of things. Did you get any response at all? Also, for what game/program is it? Maybe handy to mention
[QUOTE=Arxae;45939698]I think i pointed you towards Xentax because it's a community dedicated to those kinds of things. Did you get any response at all? Also, for what game/program is it? Maybe handy to mention[/QUOTE] The Saboteur, it seems. [editline]10th September 2014[/editline] The kiloPack files would come handy as it might be a similar format and they're smaller packages to work with.
[QUOTE=proboardslol;45920578]Well you know how everything on computers is binary? well binary is Base-2. Hexadecimal is Base-16, because sometimes it's easier to write things in base-16 than base-2. So if you open up a file in a Hexademical editor, then you will effectively find all of the data inside of the file, in hexadecimal (and binary) form. The first few data points in the Hexadecimal file are called its "signature", which basically is something that programs use to identify its filetype. the Rar Hex signature, for example, spells out "Rar!". This files Hex signature is a few random characters, and I can't find any other files that have a similar signature, which means theres probably no commercially available software that can natively open this file. which means your solution to opening it will have to be more... homebrew. tl;dr: chances are low[/QUOTE] You know I really appreciate this answer, it's very informational and helpful for me. Thank you for taking your time out to say this. Anything that can further my understanding is a worthy investment for me. Thank you! Further, I wanted to ask. You said that any method that would be able to open this would have to be more 'homebrew.' This means to me that it's not a common format that someone could just use their previous knowledge to write an extractor for or point to an existing one. This to me means that the only way in is through lots of research and time. Obviously this would take a lot of knowledge and time, but the average person isn't going to be willing to go through that much work, it's unreasonable. But where does someone with a genuine commitment come in? Can you explain a bit on how someone might get into this files regardless? I have very basic understanding of this part of things and it's fairly shaky, if you could tell me anything about this it would be very beneficial. Again, thank you for you time, I really appreciate it. [QUOTE=Arxae;45939698]I think i pointed you towards Xentax because it's a community dedicated to those kinds of things. Did you get any response at all? Also, for what game/program is it? Maybe handy to mention[/QUOTE] I did make a thread there and I didn't get any sort of response. People looked at it but the thread just sank down pretty quickly. I think it's at least partly due to the fact that I didn't link them a file. I had a dilemma because the forum is very proactive about removing game material links and I didn't want to get on the wrong side of that, but at the same time, people have told me that if there's no link there's not likely going to be too much assistance. So I have been considering going back and posting a link, but honestly I feel it's even worse to be completely aware of their no-tolerance rules and go against it purposefully.. I don't know. It might sound stupid but I've just found that hard to get around. Further, yes, it is for the The Saboteur. [QUOTE=Perl;45940681]The Saboteur, it seems. [editline]10th September 2014[/editline] The kiloPack files would come handy as it might be a similar format and they're smaller packages to work with.[/QUOTE] You're completely right. I wasn't 100% sure if they were similar enough formats, but it's worth a try. I also wasn't sure how the file content inside would affect this, so I just took the smallest megapack in the folder. My bad, this file is drastically smaller in case it might help anyone! [url]https://dl.dropboxusercontent.com/u/3623911/The%20Saboteur/France/Start0.kiloPack[/url]
I think I know what's going on now, gonna try and make an unpacker thingy
I just did a quick teardown of the format. Doesn't seem to have filenames, perhaps there's a table in a separate file for those. This code snippet I just cooked up will extract the files, it may be of some use to you? This works for both kiloPack and megaPack, the format seems to be identical. [url]https://gist.github.com/WillKirkby/6971bdc0a9a305809c60[/url]
[QUOTE=UnknownToaster;45941099]Can you explain a bit on how someone might get into this files regardless? I have very basic understanding of this part of things and it's fairly shaky, if you could tell me anything about this it would be very beneficial. Again, thank you for you time, I really appreciate it.[/QUOTE] Sorry, but I'm not very good with stuff like this either. I'm pretty sure, however, that it has a lot to do with opening this file in a hex editor, knowing which items to look for, and manually (read: copy-pasting into another file with a hex editor) creating them from the data within the original file. But this requires some knowledge of machine code which I simply don't have
[QUOTE=WillKirkby;45941308]I just did a quick teardown of the format. Doesn't seem to have filenames, perhaps there's a table in a separate file for those. This code snippet I just cooked up will extract the files, it may be of some use to you? This works for both kiloPack and megaPack, the format seems to be identical. [url]https://gist.github.com/WillKirkby/6971bdc0a9a305809c60[/url][/QUOTE] Perhaps the offset is just a long.
[QUOTE=WillKirkby;45941308]I just did a quick teardown of the format. Doesn't seem to have filenames, perhaps there's a table in a separate file for those. This code snippet I just cooked up will extract the files, it may be of some use to you? This works for both kiloPack and megaPack, the format seems to be identical. [url]https://gist.github.com/WillKirkby/6971bdc0a9a305809c60[/url][/QUOTE] The Kirkby strikes again! Thanks a whole bunch for the extractor! I'll see what I can do with this, I think I'm going to bring the small kilopacks over to Xentax and see if they can figure out the decompression. It definitely helps to have all the files out and correctly separated now. I really appreciate the assistance, and still can't thank you enough for the Luap Extractor from the previous thread.. Without it I'd be no where with my project.. Thank you so much [QUOTE=proboardslol;45941331]Sorry, but I'm not very good with stuff like this either. I'm pretty sure, however, that it has a lot to do with opening this file in a hex editor, knowing which items to look for, and manually (read: copy-pasting into another file with a hex editor) creating them from the data within the original file. But this requires some knowledge of machine code which I simply don't have[/QUOTE] I appreciate the information you've given me already, thank you! :) And to everyone else who's checked out this thread and assisted, thank you all so much for your time and effort! I can't thank you guys enough for your work and knowledge! I'm going to see what I can do about the compression and finding the names/filetypes to these files. Again, Thank you all! :)
Sorry, you need to Log In to post a reply to this thread.