Tales Runner server setup

Status
Not open for further replies.
Stefan if I'm able to fix your .pkg and other issues would you still host a server? I think we can mod these enough to make more good then the other 1,000 server that could be possible.
 
Stefan if I'm able to fix your .pkg and other issues would you still host a server? I think we can mod these enough to make more good then the other 1,000 server that could be possible.


Yes of course!

Mini guide > intall db

****observation****

not create db name,Tales_DB

create talesrunner db and not Tales_DB

DB name "talesrunner" important to not give error odbc


Thanks for the contribution but you need to configure the User DSN a certain way for now in order to make the server run correctly.
I will post details regarding this as soon as possible.
 
Solved ODBC problems.

DSN: korea
User: sa
Password: talesrunner

Edit: It should be working now:
KillerStefan - Tales Runner server setup - RaGEZONE Forums
 
Last edited:
@manneke Good job! thank you for fix odbc.

You're welcome!

If you're interested in how it works: the ODBC connection information is stored in dbsetting.ini, an encrypted file.
When I found the decrypting function in the server executable, I only had to decompile it and make a little app to use it.

I didn't really research how the en-/decryption actually works, but it shouldn't be too hard to figure out when you have the (decompiled) source.

Source code:
License: Do whatever you want with it! (public domain)
One request: if you figure out how en-/decryption works, make it public.

Edit: Updated file location.
 
Last edited:
One request: if you figure out how en-/decryption works, make it public.
I don't want to explain how it works but this is some reversal code
Code:
void Encrypt(_BYTE* pData, int dataLen)
{
  int* _unknown = new int(1);

  int v3; // ebp@1
  int v4; // esi@1
  int v5; // edi@2

  v3 = dataLen;
  v4 = *(_DWORD *)_unknown;
  if ( dataLen )
  {
    v5 = (int)pData;
    do
    {
		*(_BYTE *)v5 +=(v4 % 255);
		*(_BYTE *)v5 += 1;
		*(_BYTE *)v5 = ((*(_BYTE *)v5 >> (7 - v4 % 7)) | (unsigned __int8)(*(_BYTE *)v5 << (8- (7 - (unsigned __int8)(v4 % 7)))));
		v4 = (*(_BYTE *)v5 + v4 +1) % 1785;
		++v5;
		--v3;
    }
    while ( v3 );
  }
  return;
}
 
I don't want to explain how it works but this is some reversal code
Code:
void Encrypt(_BYTE* pData, int dataLen)
{
  int* _unknown = new int(1);

  int v3; // ebp@1
  int v4; // esi@1
  int v5; // edi@2

  v3 = dataLen;
  v4 = *(_DWORD *)_unknown;
  if ( dataLen )
  {
    v5 = (int)pData;
    do
    {
		*(_BYTE *)v5 +=(v4 % 255);
		*(_BYTE *)v5 += 1;
		*(_BYTE *)v5 = ((*(_BYTE *)v5 >> (7 - v4 % 7)) | (unsigned __int8)(*(_BYTE *)v5 << (8- (7 - (unsigned __int8)(v4 % 7)))));
		v4 = (*(_BYTE *)v5 + v4 +1) % 1785;
		++v5;
		--v3;
    }
    while ( v3 );
  }
  return;
}

post compiled please?
 
Status
Not open for further replies.
Back