werkkzeug 4 pak files
category: code [glöplog]
All we know that werkkzeug 4 stores demodata not at the end of exe file, but in the special *.pak archive which is distributed with player. Do you want to see into this archives?
I developed small program for unpacking this archives. It can be downloaded from werkkzeug.wallst.ru:
http://werkkzeug.wallst.ru/files/unwar/unwar-0.1.zip
I uploaded only Linux version of this program because I do not yet compiled it for other OS's.
Unwar stands for UNpacker for Werkkzeug ARchives.
I am not responsible if your Windows or other operating system cannot normally run Linux applications. But I shall soon publish win32 version of this program.
I developed small program for unpacking this archives. It can be downloaded from werkkzeug.wallst.ru:
http://werkkzeug.wallst.ru/files/unwar/unwar-0.1.zip
I uploaded only Linux version of this program because I do not yet compiled it for other OS's.
Unwar stands for UNpacker for Werkkzeug ARchives.
I am not responsible if your Windows or other operating system cannot normally run Linux applications. But I shall soon publish win32 version of this program.
Usage:
unwar filename.pak
to unpack archive to the current directory, or
unwar filename.pak directory
or if you want to unpack archive to the specified directory (it will be created if not exists).
unwar filename.pak
to unpack archive to the current directory, or
unwar filename.pak directory
or if you want to unpack archive to the specified directory (it will be created if not exists).
WOW! JUST WHAT I WANTED! THANKS!!!
403 forbidden?
Quote:
Do you want to see into this archives?
at the moment... and... in fact?!?... no!!! so... I give a shit. :)
I don't feel like ripping magellan apart. I don't care to see... how they made the bulb. I'd rather code a nice fake myself, when I feel like it.
BTW... sauron. You seem to be a lil overly obsessed, cracking farbrausch's data files lately. ?o.o?
nothing better todo?!?
nothing better todo?!?
yumeji: Reverse-engineering file formats while you could just kindly ask the authors if they want to release the specs is something different than writing loaders for file formats, though. I mean, I have even been doing that myself with various Epic Megagames module formats, just because I wanted to listen to the original music. Nothing wrong with that. But yeah, I _did_ use the information that was publically available (and Josh Jensen wasn't very helpful either / didn't reply to my questions, so I *did* have to do some little reverse-engineering myself :).
You could at least publish source .... >_>
Now, we need to reverse-engineer Unwar.
yumeji: .pak file only has assets, the mandelbulb is code and completely realtime, no precalc involved whatsoever. j
I know ryg. I was just subliminally joking about the motivation of rev'eng all the data stuff?! cause there's alot more real coding things involved. ;)
Sauron: Maybe you could hack their mind as well...?
nice work
you can get textures! and vertex buffers! awesome!
...wait, it's actually easier to just dump them from PIX. gets you the shaders too.
...wait, it's actually easier to just dump them from PIX. gets you the shaders too.
but.. but.. but.. the ultra secret .wz4 file!
Quote:
but.. but.. but.. the ultra secret .wz4 file!
I shall publish full description of .wz4 file format next week.
Quote:
I shall publish full description of .wz4 file format next week.
Ok... So... I don't wanna see any unknown variable. I mean... seriously!!! No cheese please. ;)
Hey everyone! I just reversed engineered The Popular Demo song!! Here goes the source code:
Code:
D#m7 | A#m7 | Bmaj7 | G#m7 C# |
Quote:
Ok... So... I don't wanna see any unknown variable. I mean... seriously!!! No cheese please. ;)
No fucking chance of that happening :)
There's unknown variables in the source. As in, there's fields which used to have a purpose in older file format versions and are now just ignored, and others which are intentionally left blank :)
Small section of the op serialization routine:
Code:
if(version>=12)
s | dummy;
sInt words = Class->ParaWords;
s | words;
s.ArrayU32(EditU(),sMin(words,Class->ParaWords));
if(words>Class->ParaWords)
s.Skip((words-Class->ParaWords)*4);
sInt strings = Class->ParaStrings;
s | strings;
if(s.IsWriting())
{
sVERIFY(strings<=Class->ParaStrings);
for(sInt i=0;i<strings;i++)
s | EditString;
}
else
{
sInt iend = sMin(Class->ParaStrings,strings);
for(sInt i=0;i<iend;i++)
s | EditString[i];
// skip unused string
sTextBuffer discard;
for(sInt i=iend;i<strings;i++)
s | &discard;
}
Yep, motherfuckers, [i]that's how we roll!
Sauron:
you seem to be a guy who can handle code... why dot you waste your time reverseEngine stuff?
i have a better idea: what about coding a cool tool for all the audience. dont be destructive. you seem to be really talented.. :)
be creative, code something really cool instead of doing some sennnnsless cracks :)
i think there are many pouetUsers out there who will get in contact to you supporting you doing a huge project like this.
you seem to be a guy who can handle code... why dot you waste your time reverseEngine stuff?
i have a better idea: what about coding a cool tool for all the audience. dont be destructive. you seem to be really talented.. :)
be creative, code something really cool instead of doing some sennnnsless cracks :)
i think there are many pouetUsers out there who will get in contact to you supporting you doing a huge project like this.
how is reverse engineering destructive, please?
are you overloading | there, or...what
no, we just OR everything together while saving. Results in lotta 1 bits, more easily compressible.
Loading is then done by almost the same routine, just with AND to get the bits out of the pile of ones again.
Loading is then done by almost the same routine, just with AND to get the bits out of the pile of ones again.
best answer of the day: kb
Cool, I must remember that entropy minimization trick! Have you submitted a paper to IEEE Transactions on Information Theory on it yet?