Tale of Wuxia .pk (zip crypted?)

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
Savage
Posts: 176
Joined: Thu Oct 02, 2014 4:58 pm

Tale of Wuxia .pk (zip crypted?)

Post by Savage »

Any hints/bms?
Thanks! :D

Sample 3,77Mb's:
http://www3.zippyshare.com/v/Ouzvb5ZE/file.html
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Tale of Wuxia .pk (zip crypted?)

Post by aluigi »

I think that the suggestion I gave in this other thread is valid here too:
http://www.zenhax.com/viewtopic.php?t=1223
Another suggestion is offbreak.
Savage
Posts: 176
Joined: Thu Oct 02, 2014 4:58 pm

Re: Tale of Wuxia .pk (zip crypted?)

Post by Savage »

Thanks i will continue in that thread then
kamik
Posts: 12
Joined: Wed May 04, 2016 2:35 am

Re: Tale of Wuxia .pk (zip crypted?)

Post by kamik »

hi, i need help to localize/translate this same game Tale of Wuxia to french, but the text file is encrypt and pack.
here is the file: https://drive.google.com/open?id=0B4ixJ ... XBEN2t1eTg
sorry, english is not my native language. thanks
Last edited by kamik on Sat May 07, 2016 2:49 pm, edited 1 time in total.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Tale of Wuxia .pk (zip crypted?)

Post by aluigi »

@kamik
What's said in this and the other topic is valid also for the file you provided.
kamik
Posts: 12
Joined: Wed May 04, 2016 2:35 am

Re: Tale of Wuxia .pk (zip crypted?)

Post by kamik »

Completely new to this hobby a step guide is appreciated, thank for your time.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Tale of Wuxia .pk (zip crypted?)

Post by aluigi »

The problem is that when there are compressions, encryptions and obfuscations involved, it's necessary to have some long experience (and a bit of luck if you have few time and patience) to get the results.

Maybe try to search something on Google about debugging and reverse engineering.
There are also various resources on this forum and on my old one, if you are lucky probably offbreak can give you some information very quickly but you need to have some skills with debugging.
Ekey
Posts: 1383
Joined: Sat Aug 09, 2014 2:34 pm

Re: Tale of Wuxia .pk (zip crypted?)

Post by Ekey »

Crypt / Decrypt for PK (UnityRaw) archives

Code: Select all

static unsigned char iKey[1024] = {
       0xE2, 0x36, 0xC6, 0x55, 0xB1, 0xC1, 0xF8, 0x76, 0x5D, 0x96, 0xF6, 0x3D, 0xD3, 0x61, 0xF2, 0x15,
       0x98, 0xA6, 0x3A, 0x19, 0x70, 0x01, 0xBE, 0x02, 0xD2, 0x59, 0x94, 0xB3, 0x7B, 0x23, 0xC1, 0x30,
       0x0D, 0x2D, 0x4C, 0xA8, 0xD5, 0xF7, 0x96, 0x54, 0xD4, 0x71, 0x4B, 0x58, 0xD9, 0x26, 0x1E, 0x3F,
       0x6A, 0x68, 0xF6, 0xF7, 0xA6, 0x85, 0xF1, 0x50, 0x1B, 0x93, 0x08, 0x42, 0x0E, 0xF0, 0x84, 0x29,
       0xE7, 0x1B, 0x81, 0xE1, 0x86, 0xA1, 0xAC, 0x9F, 0xD5, 0x41, 0xBA, 0x33, 0xEC, 0x06, 0x41, 0x7A,
       0x09, 0xC8, 0x82, 0xB6, 0x4D, 0x1C, 0xED, 0x56, 0x76, 0x00, 0x40, 0x7C, 0x13, 0x10, 0x79, 0x39,
       0x40, 0x68, 0xE8, 0x83, 0x6B, 0x87, 0xCF, 0x91, 0xF8, 0x8A, 0xD1, 0xC9, 0x8A, 0xEF, 0xAC, 0x85,
       0x4E, 0xF4, 0xAF, 0x4B, 0x8C, 0x6F, 0x9B, 0xF4, 0x24, 0x9C, 0x5A, 0x77, 0x0E, 0x06, 0x28, 0xE8,
       0x20, 0xD2, 0xB6, 0xF4, 0x1C, 0xAA, 0xEE, 0xEE, 0x51, 0x9A, 0x3D, 0xBA, 0xA5, 0x5C, 0x7D, 0x59,
       0x2E, 0xDA, 0xCA, 0x91, 0x1C, 0x48, 0xC3, 0xDD, 0x14, 0x83, 0x48, 0xE0, 0xDD, 0x4D, 0xF5, 0x55,
       0xB2, 0xFE, 0x1A, 0x5A, 0xB7, 0xF9, 0xCB, 0x5C, 0xC4, 0xAE, 0x9E, 0x43, 0x2B, 0xCD, 0x9C, 0x55,
       0x72, 0x13, 0xE5, 0x2D, 0x0D, 0xCE, 0xE9, 0xD3, 0xD4, 0x52, 0xA5, 0xF1, 0x63, 0xBE, 0x7B, 0x71,
       0x45, 0xF4, 0x04, 0xA1, 0x1B, 0x57, 0xFB, 0x9A, 0xF8, 0xCD, 0xCD, 0x32, 0x43, 0x43, 0x9D, 0x3C,
       0xA7, 0xFA, 0x59, 0x82, 0xC4, 0x37, 0x6F, 0x63, 0x06, 0x54, 0xB3, 0x3A, 0xCD, 0x01, 0x82, 0xB1,
       0x85, 0x87, 0x00, 0xE1, 0x68, 0xBD, 0x82, 0xD6, 0x3B, 0x5E, 0x4D, 0x26, 0x1F, 0xFF, 0x64, 0xAD,
       0xCE, 0x05, 0xCE, 0x3C, 0xBF, 0xEE, 0xDF, 0x2A, 0x10, 0x86, 0x2A, 0x93, 0x35, 0x7F, 0xC1, 0x75,
       0xFE, 0x64, 0x77, 0xC7, 0xBE, 0x13, 0x5D, 0xA5, 0xA0, 0x40, 0x02, 0xF9, 0x7F, 0x0A, 0xBF, 0x38,
       0x31, 0x41, 0x42, 0x75, 0x66, 0x44, 0x86, 0x7F, 0x71, 0xFE, 0x0A, 0xBB, 0xE7, 0xCC, 0x08, 0x3D,
       0xC7, 0xE2, 0x12, 0x62, 0x39, 0x57, 0x11, 0xBB, 0xD4, 0x9C, 0x6D, 0x41, 0x33, 0xAB, 0x76, 0x93,
       0xB0, 0x6F, 0x6E, 0x42, 0x68, 0x31, 0xEE, 0x88, 0x5A, 0x75, 0xFE, 0x74, 0x78, 0x92, 0x48, 0xA2,
       0x5E, 0x64, 0x8F, 0x84, 0x4F, 0x98, 0x3C, 0x57, 0x47, 0x70, 0xC2, 0xB3, 0xA6, 0x7A, 0x3A, 0x7D,
       0xE4, 0x86, 0x0B, 0xE3, 0x45, 0x5A, 0xE4, 0x87, 0xAE, 0x43, 0xA8, 0x13, 0x1E, 0xCB, 0x33, 0x61,
       0x84, 0xE7, 0x8B, 0x2D, 0xB6, 0x31, 0x52, 0x0B, 0x17, 0x60, 0xB8, 0x45, 0x39, 0x74, 0x6B, 0x40,
       0x06, 0x55, 0x29, 0x15, 0x4A, 0x15, 0xED, 0x83, 0xD6, 0xAE, 0x67, 0xBA, 0xA8, 0x6C, 0x65, 0x5E,
       0xD9, 0x85, 0x60, 0x63, 0x46, 0x62, 0xE6, 0x5A, 0xD8, 0x73, 0x26, 0xFC, 0x67, 0x24, 0xAB, 0xE5,
       0x95, 0x1A, 0x85, 0x1B, 0x9A, 0xBA, 0x00, 0x50, 0xDD, 0x8D, 0x20, 0x1D, 0x7F, 0x4A, 0xDD, 0x44,
       0x90, 0x8B, 0x02, 0x60, 0xD7, 0xDB, 0x42, 0x25, 0xAB, 0x47, 0x4A, 0xAD, 0xBA, 0x3D, 0x1D, 0xA9,
       0xC8, 0x6C, 0x05, 0x79, 0xC6, 0x20, 0x9E, 0x1D, 0xE4, 0xF9, 0x4D, 0xAB, 0x8D, 0x1D, 0x00, 0xAF,
       0x8D, 0x96, 0x15, 0xC3, 0x31, 0x88, 0xCC, 0x82, 0x2A, 0x69, 0x7C, 0x2A, 0x9B, 0xAE, 0x76, 0x59,
       0xAE, 0x07, 0x99, 0x41, 0x4B, 0x66, 0xA2, 0x6A, 0x7C, 0x1B, 0x3C, 0x9D, 0xDB, 0x1C, 0x69, 0x6B,
       0x7D, 0x7E, 0x31, 0x6C, 0x96, 0x8F, 0x5C, 0x18, 0xCA, 0x0C, 0x6D, 0x71, 0xFA, 0x3B, 0x45, 0xE9,
       0x17, 0xF8, 0x51, 0x9E, 0x94, 0x2F, 0xDD, 0xCD, 0x4D, 0xED, 0xE9, 0xE5, 0x56, 0x49, 0x1F, 0x89,
       0x94, 0x56, 0x31, 0x24, 0xEC, 0x3D, 0x76, 0x9B, 0xE5, 0x13, 0x3C, 0x3C, 0x33, 0x41, 0x76, 0x61,
       0xFF, 0x6B, 0x86, 0x80, 0x53, 0x32, 0x1F, 0x66, 0x3F, 0x32, 0x29, 0x3D, 0x71, 0x13, 0x5B, 0x33,
       0x97, 0x3D, 0x70, 0xD3, 0x47, 0xC8, 0x56, 0xBD, 0x5C, 0x9F, 0x54, 0x75, 0x68, 0x2B, 0xE1, 0xCF,
       0xCA, 0x92, 0xA5, 0x31, 0xC6, 0xF0, 0x98, 0xAC, 0x5A, 0x42, 0x93, 0x90, 0xED, 0x63, 0x2B, 0xBB,
       0x9B, 0x45, 0x4B, 0x75, 0x4C, 0xFC, 0xE4, 0x51, 0x7C, 0xA3, 0xC3, 0xDB, 0x87, 0x9E, 0xDD, 0x28,
       0x96, 0x0D, 0xE0, 0x67, 0x47, 0x80, 0x23, 0xA2, 0x2F, 0x5B, 0xDB, 0xF7, 0xC4, 0x10, 0xF0, 0x85,
       0x08, 0x3E, 0xEF, 0x84, 0xC7, 0x66, 0x89, 0xF4, 0x14, 0x55, 0xC5, 0xD9, 0x41, 0xBE, 0xBD, 0x8A,
       0x32, 0x1E, 0x49, 0x90, 0xD6, 0x49, 0x0A, 0x69, 0x56, 0xEA, 0x7B, 0x0D, 0xC1, 0xFF, 0xDC, 0x6B,
       0x74, 0xA6, 0xEA, 0x8B, 0xBF, 0x18, 0x2E, 0xF1, 0x82, 0xFF, 0x7E, 0x6A, 0xEF, 0x92, 0x5F, 0xC2,
       0x40, 0x63, 0x3E, 0x69, 0x19, 0xB3, 0xD6, 0x20, 0xE1, 0x96, 0x8C, 0xC8, 0x00, 0xE4, 0xCF, 0xAB,
       0x9D, 0xA7, 0x47, 0xA9, 0xE7, 0x3F, 0x38, 0x82, 0x9D, 0x9A, 0x6C, 0xDE, 0xD9, 0xD6, 0xFB, 0xD3,
       0xCA, 0xE5, 0x3B, 0x3D, 0x6F, 0xDF, 0x4A, 0xDE, 0x5F, 0xEA, 0x16, 0x19, 0xE5, 0x84, 0xAC, 0xC5,
       0x08, 0x8B, 0xC2, 0xE3, 0x0C, 0x65, 0x1B, 0x38, 0x42, 0x03, 0x0F, 0xAC, 0x59, 0xCD, 0x7B, 0xEC,
       0xEB, 0x5F, 0x5A, 0x44, 0xCC, 0x08, 0xBF, 0xD5, 0x22, 0x86, 0x7C, 0x4B, 0x6B, 0x24, 0xEB, 0xD3,
       0x5A, 0x16, 0xDE, 0x72, 0xB0, 0x8C, 0x95, 0x94, 0x59, 0x88, 0xE7, 0xB1, 0xF3, 0x46, 0x02, 0x3E,
       0x8E, 0x11, 0xAA, 0xA4, 0x17, 0x16, 0x9A, 0xE7, 0x47, 0x38, 0x7D, 0x1E, 0xCF, 0xDD, 0x46, 0x25,
       0x54, 0x16, 0x56, 0xA3, 0x46, 0x6A, 0x3E, 0x3C, 0x34, 0x62, 0xC8, 0x8E, 0xB0, 0x29, 0x5D, 0xF3,
       0x00, 0xB2, 0x30, 0xB0, 0x5C, 0x86, 0x88, 0x94, 0x41, 0x44, 0x7F, 0x45, 0x84, 0xD2, 0xF0, 0xA8,
       0xDA, 0xCE, 0x5C, 0xCA, 0x11, 0x28, 0xFD, 0xAA, 0xF2, 0x1B, 0xEF, 0x3A, 0x6F, 0x40, 0x0A, 0xA5,
       0x26, 0x02, 0xC9, 0x20, 0xB5, 0xC8, 0x32, 0xB7, 0x21, 0x2D, 0xB2, 0x55, 0xA2, 0x68, 0x5D, 0x5E,
       0x9F, 0x8D, 0x50, 0x6C, 0x84, 0x88, 0xF9, 0x7B, 0xDD, 0x41, 0xCC, 0xFD, 0x67, 0xF5, 0x8B, 0xD3,
       0xDC, 0x1D, 0x2F, 0xD3, 0xE7, 0x18, 0xAC, 0xE9, 0x31, 0x83, 0xA5, 0x28, 0x16, 0xEC, 0xDC, 0x0E,
       0x2B, 0x7A, 0x9C, 0x46, 0xF0, 0x2B, 0x97, 0x51, 0xBA, 0xB4, 0xCD, 0x1E, 0x6E, 0xFA, 0xC3, 0x3E,
       0xAE, 0xFE, 0x01, 0x9D, 0x92, 0x57, 0xD0, 0x5A, 0x3B, 0x21, 0x7A, 0x17, 0x3A, 0x7E, 0xAC, 0x39,
       0x5B, 0x89, 0xE0, 0x4C, 0x8E, 0xD3, 0x65, 0x11, 0x1E, 0x98, 0xA5, 0xA1, 0xC2, 0x75, 0x93, 0x46,
       0xFA, 0x04, 0xB3, 0x7F, 0xD0, 0xB4, 0x53, 0xC3, 0xC8, 0x93, 0xE1, 0x9E, 0x84, 0x83, 0xFB, 0x7D,
       0xD0, 0x0B, 0x64, 0x37, 0xE8, 0xF8, 0x38, 0x6F, 0x4F, 0x06, 0xEF, 0x33, 0x3C, 0xB1, 0x33, 0xBF,
       0x0A, 0xCA, 0xD1, 0x34, 0xC8, 0x24, 0x33, 0xFC, 0x6D, 0xEA, 0xEC, 0x4A, 0x10, 0xE2, 0xE5, 0x21,
       0xFC, 0x0D, 0xBC, 0x61, 0xE0, 0xDB, 0xB0, 0x7E, 0x09, 0x1A, 0x09, 0x07, 0x73, 0x5E, 0x03, 0x61,
       0x9D, 0x58, 0xBB, 0xC8, 0xE9, 0x7B, 0x3E, 0xEF, 0xF6, 0xE0, 0x1C, 0xD6, 0xFB, 0xD3, 0x63, 0x2D,
       0x07, 0x89, 0x70, 0x81, 0xB2, 0xCA, 0x5D, 0xE8, 0xC5, 0xD4, 0xD4, 0xF8, 0xB7, 0x68, 0x80, 0x39,
       0x23, 0xF0, 0x53, 0x21, 0x05, 0x72, 0xC0, 0xEB, 0x9F, 0x82, 0x65, 0xAC, 0x94, 0x76, 0x9B, 0xC7};


Code: Select all

void iCryptDecryptPK(unsigned char* pBuffer, int dwSize)
{
    for (int i = 0; i < dwSize; ++i)
    {
        pBuffer[i] ^= iKey[i % 1024];
    }
}


Crypt / Decrypt for DLL files (encrypted 4 DLL)

[*] Assembly-CSharp.dll
[*] Assembly-CSharp-firstpass.dll
[*] Assembly-UnityScript.dll
[*] Assembly-UnityScript-firstpass.dll

Code: Select all

void iCryptDecryptDLL(unsigned char* pBuffer, int dwSize)
{
    int dwHash = 0;
    for (int i = 0; i < dwSize; ++i )
    {
        dwHash = (0x1FB9 * dwHash + 0x6EFB) % 0x20D38;
        pBuffer[i] ^= dwHash;
    }
}
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Tale of Wuxia .pk (zip crypted?)

Post by aluigi »

Have you tested it with the provided Patch.pk?
I made a script on the fly using filexor but the result is not correct:

Code: Select all

get SIZE asize
get NAME filename

# iCryptDecryptPK
filexor "\xe2\x36\xc6\x55\xb1\xc1\xf8\x76\x5d\x96\xf6\x3d\xd3\x61\xf2\x15\x98\xa6\x3a\x19\x70\x01\xbe\x02\xd2\x59\x94\xb3\x7b\x23\xc1\x30\x0d\x2d\x4c\xa8\xd5\xf7\x96\x54\xd4\x71\x4b\x58\xd9\x26\x1e\x3f\x6a\x68\xf6\xf7\xa6\x85\xf1\x50\x1b\x93\x08\x42\x0e\xf0\x84\x29\xe7\x1b\x81\xe1\x86\xa1\xac\x9f\xd5\x41\xba\x33\xec\x06\x41\x7a\x09\xc8\x82\xb6\x4d\x1c\xed\x56\x76\x00\x40\x7c\x13\x10\x79\x39\x40\x68\xe8\x83\x6b\x87\xcf\x91\xf8\x8a\xd1\xc9\x8a\xef\xac\x85\x4e\xf4\xaf\x4b\x8c\x6f\x9b\xf4\x24\x9c\x5a\x77\x0e\x06\x28\xe8\x20\xd2\xb6\xf4\x1c\xaa\xee\xee\x51\x9a\x3d\xba\xa5\x5c\x7d\x59\x2e\xda\xca\x91\x1c\x48\xc3\xdd\x14\x83\x48\xe0\xdd\x4d\xf5\x55\xb2\xfe\x1a\x5a\xb7\xf9\xcb\x5c\xc4\xae\x9e\x43\x2b\xcd\x9c\x55\x72\x13\xe5\x2d\x0d\xce\xe9\xd3\xd4\x52\xa5\xf1\x63\xbe\x7b\x71\x45\xf4\x04\xa1\x1b\x57\xfb\x9a\xf8\xcd\xcd\x32\x43\x43\x9d\x3c\xa7\xfa\x59\x82\xc4\x37\x6f\x63\x06\x54\xb3\x3a\xcd\x01\x82\xb1\x85\x87\x00\xe1\x68\xbd\x82\xd6\x3b\x5e\x4d\x26\x1f\xff\x64\xad\xce\x05\xce\x3c\xbf\xee\xdf\x2a\x10\x86\x2a\x93\x35\x7f\xc1\x75\xfe\x64\x77\xc7\xbe\x13\x5d\xa5\xa0\x40\x02\xf9\x7f\x0a\xbf\x38\x31\x41\x42\x75\x66\x44\x86\x7f\x71\xfe\x0a\xbb\xe7\xcc\x08\x3d\xc7\xe2\x12\x62\x39\x57\x11\xbb\xd4\x9c\x6d\x41\x33\xab\x76\x93\xb0\x6f\x6e\x42\x68\x31\xee\x88\x5a\x75\xfe\x74\x78\x92\x48\xa2\x5e\x64\x8f\x84\x4f\x98\x3c\x57\x47\x70\xc2\xb3\xa6\x7a\x3a\x7d\xe4\x86\x0b\xe3\x45\x5a\xe4\x87\xae\x43\xa8\x13\x1e\xcb\x33\x61\x84\xe7\x8b\x2d\xb6\x31\x52\x0b\x17\x60\xb8\x45\x39\x74\x6b\x40\x06\x55\x29\x15\x4a\x15\xed\x83\xd6\xae\x67\xba\xa8\x6c\x65\x5e\xd9\x85\x60\x63\x46\x62\xe6\x5a\xd8\x73\x26\xfc\x67\x24\xab\xe5\x95\x1a\x85\x1b\x9a\xba\x00\x50\xdd\x8d\x20\x1d\x7f\x4a\xdd\x44\x90\x8b\x02\x60\xd7\xdb\x42\x25\xab\x47\x4a\xad\xba\x3d\x1d\xa9\xc8\x6c\x05\x79\xc6\x20\x9e\x1d\xe4\xf9\x4d\xab\x8d\x1d\x00\xaf\x8d\x96\x15\xc3\x31\x88\xcc\x82\x2a\x69\x7c\x2a\x9b\xae\x76\x59\xae\x07\x99\x41\x4b\x66\xa2\x6a\x7c\x1b\x3c\x9d\xdb\x1c\x69\x6b\x7d\x7e\x31\x6c\x96\x8f\x5c\x18\xca\x0c\x6d\x71\xfa\x3b\x45\xe9\x17\xf8\x51\x9e\x94\x2f\xdd\xcd\x4d\xed\xe9\xe5\x56\x49\x1f\x89\x94\x56\x31\x24\xec\x3d\x76\x9b\xe5\x13\x3c\x3c\x33\x41\x76\x61\xff\x6b\x86\x80\x53\x32\x1f\x66\x3f\x32\x29\x3d\x71\x13\x5b\x33\x97\x3d\x70\xd3\x47\xc8\x56\xbd\x5c\x9f\x54\x75\x68\x2b\xe1\xcf\xca\x92\xa5\x31\xc6\xf0\x98\xac\x5a\x42\x93\x90\xed\x63\x2b\xbb\x9b\x45\x4b\x75\x4c\xfc\xe4\x51\x7c\xa3\xc3\xdb\x87\x9e\xdd\x28\x96\x0d\xe0\x67\x47\x80\x23\xa2\x2f\x5b\xdb\xf7\xc4\x10\xf0\x85\x08\x3e\xef\x84\xc7\x66\x89\xf4\x14\x55\xc5\xd9\x41\xbe\xbd\x8a\x32\x1e\x49\x90\xd6\x49\x0a\x69\x56\xea\x7b\x0d\xc1\xff\xdc\x6b\x74\xa6\xea\x8b\xbf\x18\x2e\xf1\x82\xff\x7e\x6a\xef\x92\x5f\xc2\x40\x63\x3e\x69\x19\xb3\xd6\x20\xe1\x96\x8c\xc8\x00\xe4\xcf\xab\x9d\xa7\x47\xa9\xe7\x3f\x38\x82\x9d\x9a\x6c\xde\xd9\xd6\xfb\xd3\xca\xe5\x3b\x3d\x6f\xdf\x4a\xde\x5f\xea\x16\x19\xe5\x84\xac\xc5\x08\x8b\xc2\xe3\x0c\x65\x1b\x38\x42\x03\x0f\xac\x59\xcd\x7b\xec\xeb\x5f\x5a\x44\xcc\x08\xbf\xd5\x22\x86\x7c\x4b\x6b\x24\xeb\xd3\x5a\x16\xde\x72\xb0\x8c\x95\x94\x59\x88\xe7\xb1\xf3\x46\x02\x3e\x8e\x11\xaa\xa4\x17\x16\x9a\xe7\x47\x38\x7d\x1e\xcf\xdd\x46\x25\x54\x16\x56\xa3\x46\x6a\x3e\x3c\x34\x62\xc8\x8e\xb0\x29\x5d\xf3\x00\xb2\x30\xb0\x5c\x86\x88\x94\x41\x44\x7f\x45\x84\xd2\xf0\xa8\xda\xce\x5c\xca\x11\x28\xfd\xaa\xf2\x1b\xef\x3a\x6f\x40\x0a\xa5\x26\x02\xc9\x20\xb5\xc8\x32\xb7\x21\x2d\xb2\x55\xa2\x68\x5d\x5e\x9f\x8d\x50\x6c\x84\x88\xf9\x7b\xdd\x41\xcc\xfd\x67\xf5\x8b\xd3\xdc\x1d\x2f\xd3\xe7\x18\xac\xe9\x31\x83\xa5\x28\x16\xec\xdc\x0e\x2b\x7a\x9c\x46\xf0\x2b\x97\x51\xba\xb4\xcd\x1e\x6e\xfa\xc3\x3e\xae\xfe\x01\x9d\x92\x57\xd0\x5a\x3b\x21\x7a\x17\x3a\x7e\xac\x39\x5b\x89\xe0\x4c\x8e\xd3\x65\x11\x1e\x98\xa5\xa1\xc2\x75\x93\x46\xfa\x04\xb3\x7f\xd0\xb4\x53\xc3\xc8\x93\xe1\x9e\x84\x83\xfb\x7d\xd0\x0b\x64\x37\xe8\xf8\x38\x6f\x4f\x06\xef\x33\x3c\xb1\x33\xbf\x0a\xca\xd1\x34\xc8\x24\x33\xfc\x6d\xea\xec\x4a\x10\xe2\xe5\x21\xfc\x0d\xbc\x61\xe0\xdb\xb0\x7e\x09\x1a\x09\x07\x73\x5e\x03\x61\x9d\x58\xbb\xc8\xe9\x7b\x3e\xef\xf6\xe0\x1c\xd6\xfb\xd3\x63\x2d\x07\x89\x70\x81\xb2\xca\x5d\xe8\xc5\xd4\xd4\xf8\xb7\x68\x80\x39\x23\xf0\x53\x21\x05\x72\xc0\xeb\x9f\x82\x65\xac\x94\x76\x9b\xc7" 1024
log NAME 0 SIZE

/*
callfunction iCryptDecryptDLL 1
log NAME 0 SIZE MEMORY_FILE

startfunction iCryptDecryptDLL
    log MEMORY_FILE 0 0
    math dwHash = 0
    for i = 0 < SIZE
        xmath dwHash "(0x1FB9 * dwHash + 0x6EFB) % 0x20D38"
        get pBuffer byte
        math pBuffer ^= dwHash
        put pBuffer byte MEMORY_FILE
    next i
endfunction
*/

*edit* script fixed with filexor KEY 1024
Ekey
Posts: 1383
Joined: Sat Aug 09, 2014 2:34 pm

Re: Tale of Wuxia .pk (zip crypted?)

Post by Ekey »

Yes and it works correctly. Add 1024 the end of the function filexor.

Code: Select all

filexor "KEY" 1024
Savage
Posts: 176
Joined: Thu Oct 02, 2014 4:58 pm

Re: Tale of Wuxia .pk (zip crypted?)

Post by Savage »

Works like a charm thanks Aluigi and Ekey, here is the full bms :D

get SIZE asize
get NAME filename

# iCryptDecryptPK
filexor "\xe2\x36\xc6\x55\xb1\xc1\xf8\x76\x5d\x96\xf6\x3d\xd3\x61\xf2\x15\x98\xa6\x3a\x19\x70\x01\xbe\x02\xd2\x59\x94\xb3\x7b\x23\xc1\x30\x0d\x2d\x4c\xa8\xd5\xf7\x96\x54\xd4\x71\x4b\x58\xd9\x26\x1e\x3f\x6a\x68\xf6\xf7\xa6\x85\xf1\x50\x1b\x93\x08\x42\x0e\xf0\x84\x29\xe7\x1b\x81\xe1\x86\xa1\xac\x9f\xd5\x41\xba\x33\xec\x06\x41\x7a\x09\xc8\x82\xb6\x4d\x1c\xed\x56\x76\x00\x40\x7c\x13\x10\x79\x39\x40\x68\xe8\x83\x6b\x87\xcf\x91\xf8\x8a\xd1\xc9\x8a\xef\xac\x85\x4e\xf4\xaf\x4b\x8c\x6f\x9b\xf4\x24\x9c\x5a\x77\x0e\x06\x28\xe8\x20\xd2\xb6\xf4\x1c\xaa\xee\xee\x51\x9a\x3d\xba\xa5\x5c\x7d\x59\x2e\xda\xca\x91\x1c\x48\xc3\xdd\x14\x83\x48\xe0\xdd\x4d\xf5\x55\xb2\xfe\x1a\x5a\xb7\xf9\xcb\x5c\xc4\xae\x9e\x43\x2b\xcd\x9c\x55\x72\x13\xe5\x2d\x0d\xce\xe9\xd3\xd4\x52\xa5\xf1\x63\xbe\x7b\x71\x45\xf4\x04\xa1\x1b\x57\xfb\x9a\xf8\xcd\xcd\x32\x43\x43\x9d\x3c\xa7\xfa\x59\x82\xc4\x37\x6f\x63\x06\x54\xb3\x3a\xcd\x01\x82\xb1\x85\x87\x00\xe1\x68\xbd\x82\xd6\x3b\x5e\x4d\x26\x1f\xff\x64\xad\xce\x05\xce\x3c\xbf\xee\xdf\x2a\x10\x86\x2a\x93\x35\x7f\xc1\x75\xfe\x64\x77\xc7\xbe\x13\x5d\xa5\xa0\x40\x02\xf9\x7f\x0a\xbf\x38\x31\x41\x42\x75\x66\x44\x86\x7f\x71\xfe\x0a\xbb\xe7\xcc\x08\x3d\xc7\xe2\x12\x62\x39\x57\x11\xbb\xd4\x9c\x6d\x41\x33\xab\x76\x93\xb0\x6f\x6e\x42\x68\x31\xee\x88\x5a\x75\xfe\x74\x78\x92\x48\xa2\x5e\x64\x8f\x84\x4f\x98\x3c\x57\x47\x70\xc2\xb3\xa6\x7a\x3a\x7d\xe4\x86\x0b\xe3\x45\x5a\xe4\x87\xae\x43\xa8\x13\x1e\xcb\x33\x61\x84\xe7\x8b\x2d\xb6\x31\x52\x0b\x17\x60\xb8\x45\x39\x74\x6b\x40\x06\x55\x29\x15\x4a\x15\xed\x83\xd6\xae\x67\xba\xa8\x6c\x65\x5e\xd9\x85\x60\x63\x46\x62\xe6\x5a\xd8\x73\x26\xfc\x67\x24\xab\xe5\x95\x1a\x85\x1b\x9a\xba\x00\x50\xdd\x8d\x20\x1d\x7f\x4a\xdd\x44\x90\x8b\x02\x60\xd7\xdb\x42\x25\xab\x47\x4a\xad\xba\x3d\x1d\xa9\xc8\x6c\x05\x79\xc6\x20\x9e\x1d\xe4\xf9\x4d\xab\x8d\x1d\x00\xaf\x8d\x96\x15\xc3\x31\x88\xcc\x82\x2a\x69\x7c\x2a\x9b\xae\x76\x59\xae\x07\x99\x41\x4b\x66\xa2\x6a\x7c\x1b\x3c\x9d\xdb\x1c\x69\x6b\x7d\x7e\x31\x6c\x96\x8f\x5c\x18\xca\x0c\x6d\x71\xfa\x3b\x45\xe9\x17\xf8\x51\x9e\x94\x2f\xdd\xcd\x4d\xed\xe9\xe5\x56\x49\x1f\x89\x94\x56\x31\x24\xec\x3d\x76\x9b\xe5\x13\x3c\x3c\x33\x41\x76\x61\xff\x6b\x86\x80\x53\x32\x1f\x66\x3f\x32\x29\x3d\x71\x13\x5b\x33\x97\x3d\x70\xd3\x47\xc8\x56\xbd\x5c\x9f\x54\x75\x68\x2b\xe1\xcf\xca\x92\xa5\x31\xc6\xf0\x98\xac\x5a\x42\x93\x90\xed\x63\x2b\xbb\x9b\x45\x4b\x75\x4c\xfc\xe4\x51\x7c\xa3\xc3\xdb\x87\x9e\xdd\x28\x96\x0d\xe0\x67\x47\x80\x23\xa2\x2f\x5b\xdb\xf7\xc4\x10\xf0\x85\x08\x3e\xef\x84\xc7\x66\x89\xf4\x14\x55\xc5\xd9\x41\xbe\xbd\x8a\x32\x1e\x49\x90\xd6\x49\x0a\x69\x56\xea\x7b\x0d\xc1\xff\xdc\x6b\x74\xa6\xea\x8b\xbf\x18\x2e\xf1\x82\xff\x7e\x6a\xef\x92\x5f\xc2\x40\x63\x3e\x69\x19\xb3\xd6\x20\xe1\x96\x8c\xc8\x00\xe4\xcf\xab\x9d\xa7\x47\xa9\xe7\x3f\x38\x82\x9d\x9a\x6c\xde\xd9\xd6\xfb\xd3\xca\xe5\x3b\x3d\x6f\xdf\x4a\xde\x5f\xea\x16\x19\xe5\x84\xac\xc5\x08\x8b\xc2\xe3\x0c\x65\x1b\x38\x42\x03\x0f\xac\x59\xcd\x7b\xec\xeb\x5f\x5a\x44\xcc\x08\xbf\xd5\x22\x86\x7c\x4b\x6b\x24\xeb\xd3\x5a\x16\xde\x72\xb0\x8c\x95\x94\x59\x88\xe7\xb1\xf3\x46\x02\x3e\x8e\x11\xaa\xa4\x17\x16\x9a\xe7\x47\x38\x7d\x1e\xcf\xdd\x46\x25\x54\x16\x56\xa3\x46\x6a\x3e\x3c\x34\x62\xc8\x8e\xb0\x29\x5d\xf3\x00\xb2\x30\xb0\x5c\x86\x88\x94\x41\x44\x7f\x45\x84\xd2\xf0\xa8\xda\xce\x5c\xca\x11\x28\xfd\xaa\xf2\x1b\xef\x3a\x6f\x40\x0a\xa5\x26\x02\xc9\x20\xb5\xc8\x32\xb7\x21\x2d\xb2\x55\xa2\x68\x5d\x5e\x9f\x8d\x50\x6c\x84\x88\xf9\x7b\xdd\x41\xcc\xfd\x67\xf5\x8b\xd3\xdc\x1d\x2f\xd3\xe7\x18\xac\xe9\x31\x83\xa5\x28\x16\xec\xdc\x0e\x2b\x7a\x9c\x46\xf0\x2b\x97\x51\xba\xb4\xcd\x1e\x6e\xfa\xc3\x3e\xae\xfe\x01\x9d\x92\x57\xd0\x5a\x3b\x21\x7a\x17\x3a\x7e\xac\x39\x5b\x89\xe0\x4c\x8e\xd3\x65\x11\x1e\x98\xa5\xa1\xc2\x75\x93\x46\xfa\x04\xb3\x7f\xd0\xb4\x53\xc3\xc8\x93\xe1\x9e\x84\x83\xfb\x7d\xd0\x0b\x64\x37\xe8\xf8\x38\x6f\x4f\x06\xef\x33\x3c\xb1\x33\xbf\x0a\xca\xd1\x34\xc8\x24\x33\xfc\x6d\xea\xec\x4a\x10\xe2\xe5\x21\xfc\x0d\xbc\x61\xe0\xdb\xb0\x7e\x09\x1a\x09\x07\x73\x5e\x03\x61\x9d\x58\xbb\xc8\xe9\x7b\x3e\xef\xf6\xe0\x1c\xd6\xfb\xd3\x63\x2d\x07\x89\x70\x81\xb2\xca\x5d\xe8\xc5\xd4\xd4\xf8\xb7\x68\x80\x39\x23\xf0\x53\x21\x05\x72\xc0\xeb\x9f\x82\x65\xac\x94\x76\x9b\xc7"
log NAME 0 SIZE

/*
callfunction iCryptDecryptDLL 1
log NAME 0 SIZE MEMORY_FILE

startfunction iCryptDecryptDLL
log MEMORY_FILE 0 0
math dwHash = 0
for i = 0 < SIZE
xmath dwHash "(0x1FB9 * dwHash + 0x6EFB) % 0x20D38"
get pBuffer byte
math pBuffer ^= dwHash
put pBuffer byte MEMORY_FILE
next i
endfunction
filexor "KEY" 1024
*/
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Tale of Wuxia .pk (zip crypted?)

Post by aluigi »

Basically the key was shifted off one byte, that's why it failed.
Good solution the 1024 appended to filexor.
kamik
Posts: 12
Joined: Wed May 04, 2016 2:35 am

Re: Tale of Wuxia .pk (zip crypted?)

Post by kamik »

thanks it work, :)
led0warlz
Posts: 2
Joined: Sun May 15, 2016 5:42 am

Re: Tale of Wuxia .pk (zip crypted?)

Post by led0warlz »

Hi,I am newbie Quick BMS
I trying unpack TextFiles_eng.pk file from above script and Search from bms/tale_of_wuxia.bms: Tale of Wuxia decrypter.
but output yet get oldflie, which is TextFiles_eng.pk!!
anyone help explain how to unpack file .pk of tale of wuxia soft of Step by Step Pls.
sorry,my poor english.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Tale of Wuxia .pk (zip crypted?)

Post by aluigi »

Basically you should just use the script posted above in my post (now it's fixed): viewtopic.php?p=13158#p13158
The obtained file is an Unity archive so you should refer to the various tools and scripts available:
viewtopic.php?p=15#p15
led0warlz
Posts: 2
Joined: Sun May 15, 2016 5:42 am

Re: Tale of Wuxia .pk (zip crypted?)

Post by led0warlz »

thank you very much, aluigi
now i can unpacked TextFiles_eng.pk by repeat use script unity.bms again.
but extension of file unpacked don't accord itself also after unpack textfile_eng.pk will get kind file TextFiles_eng~AbilityBookData.49
it's just get TextFiles_eng~AbilityBookData.txt!! i thinking edit script unity.bms but i don't sure where edit code of script. :D
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Tale of Wuxia .pk (zip crypted?)

Post by aluigi »

I suggest you to use a renamer like Lupas converting all the "49" extensions to "txt".
It's the fastest and simplest solution :)
hackspeedok
Posts: 404
Joined: Mon Oct 06, 2014 6:41 pm

Re: Tale of Wuxia .pk (zip crypted?)

Post by hackspeedok »

Aluigi, i can't use this script for new DLC patch. Can you update your script ?
New DLC: https://drive.google.com/file/d/0Bwg-L6 ... sp=sharing
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Tale of Wuxia .pk (zip crypted?)

Post by aluigi »

Apparently they use a new xor key.
If someone will provide the new key, I will update the script.
hongduc96
Posts: 1
Joined: Thu Feb 17, 2022 9:15 am

Re: Tale of Wuxia .pk (zip crypted?)

Post by hongduc96 »

Link die. please send me link again !!! Thanks !!!