Page 1 of 1

Journey .XME files (PhyreEngine)

Posted: Wed Aug 24, 2022 12:17 pm
by rubinho146
Journey developed by Thagamecompany

Trying to localize this game but the files have compression. They seem to be a mix of huffman and lz.
Is possible that someone can have a look on them?

Thanks.

Re: Journey .XME files (PhyreEngine)

Posted: Thu Aug 25, 2022 5:03 pm
by barncastle
This uses a form of rolling cipher. The data is first cast to uint32s, then each uint32 is XOR'd by a key that is incremented by the previous encrypted value. This is symmetric so encryption uses the same process as decryption.

Code: Select all

uint* uint_ptr = (uint*)pData; // cast file bytes to uint32s
int rounds = (data.Length + 3) / 4;

uint key = 0x6341F337;

uint temp;
for (int i = 0; i < rounds; i++)
{
    temp = uint_ptr[i]; // store original encrypted value
    uint_ptr[i] ^= key; // decrypt by XOR'ing with key
    key += temp;        // add original encrypted value to key
}

Re: Journey .XME files (PhyreEngine)

Posted: Wed Sep 07, 2022 1:58 am
by rubinho146
Thanks for the answer. It was quite helpful and it made it possible to create a tool to decipher and cipher back to work in the game.
Is now possible to translate some games that use this format.

It works on Journey and Flower.

Tool made by Mumm-Ra.