ZenHAX
https://zenhax.com/

$50 - Decrypt Ragnarok Eternal Love client data [Unity Mobile]
https://zenhax.com/viewtopic.php?f=14&t=8887
Page 1 of 1

Author:  drx [ Tue Nov 13, 2018 3:13 pm ]
Post subject:  $50 - Decrypt Ragnarok Eternal Love client data [Unity Mobile]

My previous post: https://zenhax.com/viewtopic.php?f=9&t=8865

Hello,
I'm looking for someone to unpack and decrypt Ragnarok Eternal Love game data for my small project.

As for now, I have been able to decompile some of the game resources using AssetStudio.
However, TextAsset such as NPC(for instance - npc HP, ID, type and so on), item, quest, skill and few other databases are encrypted.
I strongly believe that those data are in resources/script2 folder.

Image

Anyway, please PM me if you're interested. I'll pay you via Paypal once its done.

Thanks!

Game: Ragnarok Online: Eternal Love
Platform: Android
Official site: https://www.ragnaroketernallove.com
--
script2 folder (untouched): https://www.mediafire.com/file/twdpvwm9 ... s.rar/file
script2 TextAsset (decompiled using AssetStudio): http://www.mediafire.com/file/luy6l899h ... t.rar/file

Game client APK: https://www.ragnaroketernallove.com/apkdl or https://rescdn.imtxwy.com/apk/ro-sea/RO ... 798060.apk

Author:  atom0s [ Sat Nov 17, 2018 7:52 pm ]
Post subject:  Re: $50 - Decrypt Ragnarok Eternal Love client data [Unity Mobile]

From the look of it, the files are encrypted with DES. The libslua.so file has the key and functions in it to encode buffers using the same setup and key.

Code:
void __cdecl desECode(void *a1, size_t a2, void *a3)
{
  int v3; // esi
  size_t n; // edi
  char *v5; // esi
  size_t v6; // ebp
  _BYTE *src; // ST04_4
  unsigned int *dest; // ST00_4

  InitDes();
  v3 = dword_42024;
  memcpy(a3, "czjzgqde", dword_42024);
  *(_DWORD *)((char *)a3 + v3) = a2;
  n = desECodeLenth(a2);
  v5 = (char *)malloc(n);
  memset(v5, 1, n);
  v6 = 0;
  memcpy(v5, a1, a2);
  deskey(byte_42018, 0);
  if ( n )
  {
    do
    {
      src = (char *)a3 + v6 + dword_42020;
      dest = (unsigned int *)&v5[v6];
      v6 += 8;
      des(dest, src);
    }
    while ( n > v6 );
  }
  free(v5);
}


I don't have the time to reverse and test the rest of the process to decrypt the data but it looks like everything you'd need is there.

Author:  drx [ Tue Nov 20, 2018 9:25 pm ]
Post subject:  Re: $50 - Decrypt Ragnarok Eternal Love client data [Unity Mobile]

Thanks for your time. This is what I found in libslua.so. But I honestly don't know what to do with it. My reverse engineering skill is little to none.

Code:
void __fastcall desECode(const void *a1, size_t a2, char *a3)
{
  char *v3; // r7
  const void *v4; // r9
  size_t n; // ST04_4
  int v6; // r5
  unsigned int v7; // r4
  unsigned int v8; // r6
  char *v9; // r5
  int v10; // r0
  int v11; // r1

  v3 = a3;
  v4 = a1;
  n = a2;
  InitDes();
  v6 = dword_260AC;
  memcpy(v3, "czjzgqde", dword_260AC);
  v7 = 0;
  *(_DWORD *)&v3[v6] = n;
  v8 = desECodeLenth(n);
  v9 = (char *)malloc(v8);
  memset(v9, 1, v8);
  memcpy(v9, v4, n);
  deskey((int)byte_26020, 0);
  if ( v8 )
  {
    do
    {
      v10 = (int)&v9[v7];
      v11 = dword_260B0 + v7;
      v7 += 8;
      des(v10, &v3[v11]);
    }
    while ( v8 > v7 );
  }
  free(v9);
}

Author:  ChaosPower [ Fri Dec 14, 2018 3:55 am ]
Post subject:  Re: $50 - Decrypt Ragnarok Eternal Love client data [Unity Mobile]

I started venturing with this one. I am using edb. Would like to know what tool did you guys use to generate those code block?
Can't run the libslua.so. Sorry for noob question.

EDIT:

Just found out how. Will attempt to search for this too.

Author:  atom0s [ Mon Dec 17, 2018 8:49 am ]
Post subject:  Re: $50 - Decrypt Ragnarok Eternal Love client data [Unity Mobile]

IDA, code is genned using the HexRays plugin.

Author:  ChaosPower [ Tue Dec 18, 2018 2:43 am ]
Post subject:  Re: $50 - Decrypt Ragnarok Eternal Love client data [Unity Mobile]

Thanks bro.

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/