Cracking Symphony

Wrote new code? Fixed a bug? Want to discuss technical stuff? Feel free to post it here.

Moderator: Moderators

-Insane-
Noob
Noob
Posts: 2
Joined: 23 May 2008, 17:57
Noob?: No

Cracking Symphony

#1 Post by -Insane- »

Hello.

Me and a few other people on irc are trying to crack the symphony.dll encryption (which is similar to but simpler than harmony.dll).
So far I've decompiled the dll and I'm trying to locate the encryption. I'll post again when I find out more.
For now, I've mirrored the most important files:

Symphony.dll
Symphony.dll in Disassembled ASM
Symphony.dll in Pseudo-C

-Insane
sli
Perl Monk
Perl Monk
Posts: 810
Joined: 04 Apr 2008, 17:26
Noob?: No

Re: Cracking Symphony

#2 Post by sli »

Gasp, what decomp did you use? :shock: It's one of those ones that just creates assembly that runs inside C.
cs : ee : realist
hal9000
Noob
Noob
Posts: 9
Joined: 04 Apr 2008, 10:20

Re: Cracking Symphony

#3 Post by hal9000 »

he just used REC http://www.backerstreet.com/rec/rec.htm


here's another decompile in pseudo C
http://openkore.pastebin.com/f2d945001
sli
Perl Monk
Perl Monk
Posts: 810
Joined: 04 Apr 2008, 17:26
Noob?: No

Re: Cracking Symphony

#4 Post by sli »

Yeah, I figured. Rec doesn't generate helpful code.
cs : ee : realist
darkfate
Super Moderators
Super Moderators
Posts: 61
Joined: 22 Apr 2008, 02:22
Noob?: No
Location: Zurich, Switzerland

Re: Cracking Symphony

#5 Post by darkfate »

search for "1337" in the pseudo-c decompile which hal9k posted.
that's probaby the encryption function (since it gets a socket as parameter..)
You can't make people smarter. You can expose them to information, but your responsibility stops there.
- Mark Rippetoe
sli
Perl Monk
Perl Monk
Posts: 810
Joined: 04 Apr 2008, 17:26
Noob?: No

Re: Cracking Symphony

#6 Post by sli »

This?

Code: Select all

//----- (1000D830) --------------------------------------------------------
int __stdcall sub_1000D830(SOCKET s, char *buf, int len, int flags)
{
  int v4; // edi@1
  int v6; // esi@5
  SOCKET v7; // [sp+Ch] [bp-4h]@2

  v4 = 0;
  if ( len > 0 )
  {
    v7 = s;
    do
    {
      if ( !*(_DWORD *)sub_100011E0((int)&unk_10013C40, (int)&v7) )
        *(_DWORD *)sub_100011E0((int)&unk_10013C40, (int)&v7) = dword_10013C30;
      v6 = (unsigned __int16)(23 * *(_WORD *)sub_100011E0((int)&unk_10013C40, (int)&v7) + 1337);
      *(_DWORD *)sub_100011E0((int)&unk_10013C40, (int)&v7) = v6;
      buf[v4] = *(_BYTE *)sub_100011E0((int)&unk_10013C40, (int)&v7) ^ (unsigned __int8)buf[v4];
      ++v4;
    }
    while ( v4 < len );
  }
  return send(s, buf, len, flags);
}
For some reason that reminds me of TEA.
cs : ee : realist
-Insane-
Noob
Noob
Posts: 2
Joined: 23 May 2008, 17:57
Noob?: No

Re: Cracking Symphony

#7 Post by -Insane- »

So I was banned from RebirthRO now.. I guess it's war.
I'll probably switch to a different server either way, but I'll keep on developing my RebirthRO bot and packet editors, and give them hell.

Too bad they took away the Kaho-spawning npc, that was hell loads of fun.

Back on topic, I'll try figuring out the encryption function.

-Insane
jensinx
Noob
Noob
Posts: 1
Joined: 28 Sep 2009, 01:51
Noob?: Yes

Re: Cracking Symphony

#8 Post by jensinx »

any progress yet?
how did you come up with the pseudo c source? what program did you use?
erok
Noob
Noob
Posts: 1
Joined: 22 May 2008, 06:32
Noob?: Yes

Re: Cracking Symphony

#9 Post by erok »

hi guys,
any progress on this yet?