Core Online

The Original Forum. Game archives, full of resources. How to open them? Get help here.
Post Reply
User avatar
chrrox
Moderator
Posts: 2601
Joined: Sun May 18, 2008 3:01 pm
Has thanked: 57 times
Been thanked: 1358 times

Core Online

Post by chrrox » Tue Oct 16, 2012 11:07 pm

Here is the game core online the archives look xored.
client download
http://download.entwell.com/download/fg ... loader.exe
website
http://www.coreonline.co.kr/main.do
Image
if you just want the main exe's to get the xor key pm me for a sample.


incomplete quickbms script.
will extract and decrypt uncompressed files.

Code: Select all

#comtype COMPRLIB_RLE3
idstring "MFFP"
get null long
get files long
for i = 0 < files
get MFFC long
get null long
get zsize long
get size long
get unk long
getdstring null 0x10
get nsize short
get unk1 short
getdstring name nsize
savepos offset
if zsize == size
filexor "0xF0 0x2E 0xAA 0x3C 0xE4 0xCD 0x11 0x89 0xD1 0xA5 0x45 0xAF 0xC3 0x43 0x52 0x4A 0xA3 0xBE 0x6C 0x82 0xFE 0xF1 0x31 0x63 0x2F 0x39 0xCF 0xA1 0xFA 0xDC 0xF0 0x2E 0xAA 0x3C 0xE4 0xCD 0x11 0x89 0xD1 0xA5 0x45 0xAF 0xC3 0x43 0x52 0x4A 0xA3 0xBE 0x6C 0x82 0xFE 0xF1 0x31 0x63 0x2F 0x39 0xCF 0xA1 0xFA 0xDC"
log name offset zsize
filexor ""
endif
math offset + zsize
goto offset
next i

WRS
ultra-veteran
ultra-veteran
Posts: 601
Joined: Fri Nov 06, 2009 12:13 am
Has thanked: 74 times
Been thanked: 134 times

Re: Core Online

Post by WRS » Wed Oct 17, 2012 2:34 am

the filelist is currently offline (CoreDownloader.ini)
Useful tool links:

User avatar
chrrox
Moderator
Posts: 2601
Joined: Sun May 18, 2008 3:01 pm
Has thanked: 57 times
Been thanked: 1358 times

Re: Core Online

Post by chrrox » Wed Oct 17, 2012 3:24 am


MrMoonKr
beginner
Posts: 29
Joined: Fri Oct 16, 2009 7:18 am
Has thanked: 24 times
Been thanked: 3 times

Re: Core Online

Post by MrMoonKr » Thu Oct 18, 2012 7:38 am

i cannot find the xor keys, just first four. :keke:

Code: Select all

//------------------------------------------------------------------------

typedef struct ( uint32 size )
{
    char                mData[ size ] ;

} BINData < bgcolor = cLtAqua , read = ReadBINData > ;

string ReadBINData( BINData& data )
{
    string s = "(no data)" ;

    char fourCC[5] ;
    fourCC[0] = data.mData[0] ^ 0xF0 ;
    fourCC[1] = data.mData[1] ^ 0x2E ;
    fourCC[2] = data.mData[2] ^ 0xAA ;
    fourCC[3] = data.mData[3] ^ 0x3C ;
    fourCC[4] = 0 ;

    SPrintf( s , "( %s )" ,
        fourCC
        ) ;
    return s ;
}


//------------------------------------------------------------------------

typedef struct
{
    char                mFourCC[4] ;                ///< "MFFC"
    uint32              mZero ;
    uint32              mSize ;
    uint32              mUncompressedSize ;
    uint32              mType ;                     ///< 1 for normal, 

    uint32              mUnknown1[2] ;
    uint32              mUnknown2[2] ;
    
    uint16              mNameSize ;
    uint16              mPadding ;
    char                mName[mNameSize] ;

    BINData             mData( mSize ) ;            ///< encrypted


} BINChunk < bgcolor = cLtPurple , read = ReadBINChunk > ;

string ReadBINChunk( BINChunk& data )
{
    string s = "(no data)" ;
    SPrintf( s , "( %d )( %s )( %s )" ,
        data.mType ,
        data.mFourCC ,
        data.mName
        ) ;
    return s ;
}

//------------------------------------------------------------------------

/**
    archive file header
*/
typedef struct
{
    char                mFourCC[4] ;            ///< "MFFP"
    uint32              mZero ;
    uint32              mChunkCount ;

    local uint32 i=0 ;
    for ( i=0 ; i < mChunkCount ; ++i )
    {
        BINChunk        mChunkArray ;
    }

} BINHeader < bgcolor = cLtGray , read = ReadBINHeader > ;

string ReadBINHeader( BINHeader& header )
{
    string s = "(no data)" ;
    SPrintf( s , "( %s )( Chunks : %d )" ,
        header.mFourCC ,
        header.mChunkCount
        ) ;
    return s ;
}

//////////////////////////////////////////////////////////////////////////

LittleEndian() ;
//BigEndian() ;

BINHeader               gHeader ;




User avatar
chrrox
Moderator
Posts: 2601
Joined: Sun May 18, 2008 3:01 pm
Has thanked: 57 times
Been thanked: 1358 times

Re: Core Online

Post by chrrox » Thu Oct 18, 2012 8:44 pm

this is the one key you found part of.

Code: Select all

F02EAA3CE4CD1189D1A545AFC343524AA3BE6C82FEF131632F39CFA1FADCF02EAA3CE4CD1189D1A545AFC343524AA3BE6C82FEF131632F39CFA1FADC
the compression is unkown.
I have found it decodes the first part of the file correctly but then has problems using this compression in quickbms.
COMP_COMPRLIB_RLE3, // scan 230

these other compressions produce somewhat close results also
COMP_COMPRLIB_RLE1,
COMP_COMPRLIB_RLE2,

I will upload the client tomorrow so people can have a look.

Game client 10 parts
http://www.sendspace.com/file/fcfvsh - part1
http://www.sendspace.com/file/0aii63 - part2
http://www.sendspace.com/file/6uzqua - part3
http://www.sendspace.com/file/qqx8vs - part4
http://www.sendspace.com/file/fjqxbz - part5
http://www.sendspace.com/file/ax99es - part6
http://www.sendspace.com/file/1vm45y - part7
http://www.sendspace.com/file/422lgf - part8
http://www.sendspace.com/file/u16fqg - part9
http://www.sendspace.com/file/nshu1f - part10

Ekey
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 1739
Joined: Wed Mar 31, 2010 6:54 am
Has thanked: 85 times
Been thanked: 961 times

Re: Core Online

Post by Ekey » Sat Oct 20, 2012 7:20 pm

Thanks for sharing. Compressed files you mean textures or what ?

User avatar
chrrox
Moderator
Posts: 2601
Joined: Sun May 18, 2008 3:01 pm
Has thanked: 57 times
Been thanked: 1358 times

Re: Core Online

Post by chrrox » Sat Oct 20, 2012 7:52 pm

the files where zsize != size.
the compression is not known can you post the decompression routine.
my script only extracts uncompressed things where the zip size == decompressed size.
just let me know if any more information is needed i can give specifics.

Ekey
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 1739
Joined: Wed Mar 31, 2010 6:54 am
Has thanked: 85 times
Been thanked: 961 times

Re: Core Online

Post by Ekey » Sat Oct 20, 2012 9:55 pm

Ok decompression algo i found.

Code: Select all

unsigned int __cdecl CO_Decompress(int szOutBuf, unsigned int szUncompressedSize, int szInBuf)
{
  unsigned int result;
  int v4;
  int v5;
  char v6;
  char v7;
  int v8;
  __int16 v9;
  int v10;
  char v11;
  int v12;
  char v13;
  signed int v14;
  __int16 v15;
  int v16;
  char v17[4096];
  int v19;
  int v20;

  v4 = szInBuf;
  v5 = 0;
  memset(v17, 0, 0x1000u);
  result = 0;
LABEL_2:
  v6 = *(BYTE *)v4;
  v15 = *(BYTE *)v4++;
  v16 = 0;
  while ( v6 >= 0 )
  {
    v13 = *(BYTE *)v4;
    if ( szUncompressedSize > result )
    {
      *(BYTE *)(szOutBuf + result++) = v13;
      v17[(signed __int16)v5] = v13;
      v5 = (v5 + 1) & 0xFFF;
      v14 = 1;
    }
    else
    {
      v14 = 0;
    }
    ++v4;
    if ( !v14 )
      return 0;
LABEL_13:
    v6 = 2 * v15;
    v15 *= 2;
    ++v16;
    if ( v16 == 8 )
      goto LABEL_2;
  }
  v7 = *(BYTE *)v4;
  if ( !*(BYTE *)v4 )
    return result;
  v9 = 16 * (256 - (unsigned __int8)(v7 & 0xF0)) - *(BYTE *)(v4 + 1);
  v10 = (v7 & 0xF) + 2;
  v8 = (unsigned __int16)v10;
  v4 += 2;
  v20 = v4;
  if ( !(WORD)v10 )
    goto LABEL_13;
  while ( 1 )
  {
    v12 = (signed __int16)v5;
    v11 = v17[((signed __int16)v5 + v9) & 0xFFF];
    if ( szUncompressedSize <= result )
      return 0;
    *(BYTE *)(szOutBuf + result) = v11;
    --v8;
    ++result;
    v5 = (v5 + 1) & 0xFFF;
    v17[v12] = v11;
    if ( !(WORD)v8 )
    {
      v4 = v20;
      goto LABEL_13;
    }
  }
}
For compressed files used fist decompression and after xor. Seems somewhere I have seen it this func.

Edited: Key only = 30 bytes :)

F02EAA3CE4CD1189D1A545AFC343524AA3BE6C82FEF131632F39CFA1FADCF02EAA3CE4CD1189D1A545AFC343524AA3BE6C82FEF131632F39CFA1FADC

Code: Select all

static const unsigned char CO_Key[30] = {
		0xF0, 0x2E, 0xAA, 0x3C, 0xE4, 0xCD, 0x11, 0x89, 0xD1, 0xA5,
		0x45, 0xAF, 0xC3, 0x43, 0x52, 0x4A, 0xA3, 0xBE, 0x6C, 0x82,
		0xFE, 0xF1, 0x31, 0x63, 0x2F, 0x39, 0xCF, 0xA1, 0xFA, 0xDC};
Last edited by Ekey on Sun Oct 21, 2012 2:31 am, edited 1 time in total.

Ekey
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 1739
Joined: Wed Mar 31, 2010 6:54 am
Has thanked: 85 times
Been thanked: 961 times

Re: Core Online

Post by Ekey » Sun Oct 21, 2012 2:30 am

Here tool and dll for test.

Code: Select all

[Usage]
        COTestDecompress <inFILE> <outFILE> <uSize>

[Example]
        COTestDecompress ability.xml ability.xml.unc 3210308
Examples files and source's (c++) included. >>COTestDecompress<< and Library >>COLib<<

Code: Select all

unsigned int __cdecl CO_Decompress(int szOutBuf, unsigned int szUncompressedSize, int szInBuf)

Ekey
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 1739
Joined: Wed Mar 31, 2010 6:54 am
Has thanked: 85 times
Been thanked: 961 times

Re: Core Online

Post by Ekey » Sun Oct 21, 2012 4:09 pm

Bin Unpacker.

Code: Select all

[Usage]
        COBINExtract <inFile>

[Example]
        COBINExtract Cvs.bin
Have fun :)
You do not have the required permissions to view the files attached to this post.

User avatar
chrrox
Moderator
Posts: 2601
Joined: Sun May 18, 2008 3:01 pm
Has thanked: 57 times
Been thanked: 1358 times

Re: Core Online

Post by chrrox » Sun Oct 21, 2012 6:01 pm

very cool should have models soon.
Image

Ekey
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 1739
Joined: Wed Mar 31, 2010 6:54 am
Has thanked: 85 times
Been thanked: 961 times

Re: Core Online

Post by Ekey » Sun Oct 21, 2012 6:17 pm

Models looks like awesome. You are fast :P

pixellegolas
ultra-veteran
ultra-veteran
Posts: 423
Joined: Mon Aug 11, 2008 11:30 pm
Has thanked: 27 times
Been thanked: 15 times

Re: Core Online

Post by pixellegolas » Mon Oct 22, 2012 10:59 am

Together we are strong and nothing cant be converted :)

Agret
n00b
Posts: 19
Joined: Thu Jan 26, 2006 5:48 am
Location: Melbourne, Victoria, Australia
Has thanked: 1 time
Been thanked: 4 times
Contact:

Re: Core Online

Post by Agret » Mon Oct 22, 2012 4:31 pm

Thanks for sharing client files, how did you extract the models? Have you managed to find texture files and bone data?
-

Diol
ultra-n00b
Posts: 2
Joined: Sat Feb 04, 2017 11:37 pm

Re: Core Online

Post by Diol » Tue Apr 30, 2019 5:28 am

Hello!
I'm really interested in getting the client file from this game, all the links are dead
Is it possible to share it again? Much appreciated!! :D

Post Reply