[RELEASE] 9Dragons XSD Editor

11/18/2013 10:26 Adek#46
Quote:
Originally Posted by saweet View Post
Done. Searches tables for rows matching the Name column. Find Next wraps around when it reaches the end. Find Next table search order can be altered by manually selecting a table.
Long time no see, saweet. Nice to see you again on ePvP's 9D section. You told it's easy to figure out the encryption keys. Can you tell - how?

By the way - thanks for great update.
11/18/2013 11:46 soly95#47
Quote:
Originally Posted by adek1994 View Post
Long time no see, saweet. Nice to see you again on ePvP's 9D section. You told it's easy to figure out the encryption keys. Can you tell - how?

By the way - thanks for great update.
US Cipher Keys is 17 & 08

KR Cipher Keys is 27 & 09

DE same as US

Dont know about VN yet
11/18/2013 14:32 Tenge500#48
Saweet, you're a beast. I pressed thanks button. :)
11/18/2013 14:47 bog18dy#49
Awesome!!! I have waited for this for a long time...
11/18/2013 16:26 dthik#50
Quote:
Originally Posted by soly95 View Post
US Cipher Keys is 17 & 08

KR Cipher Keys is 27 & 09

DE same as US

Dont know about VN yet
VN is: 07 & 11
11/18/2013 16:51 soly95#51
Quote:
Originally Posted by dthik View Post
VN is: 07 & 11
imma downloading it now anyway ><
11/18/2013 17:29 witek1992#52
Quote:
Originally Posted by saweet View Post
Done. Searches tables for rows matching the Name column. Find Next wraps around when it reaches the end. Find Next table search order can be altered by manually selecting a table.
Thank you very much :handsdown: it's hella easier now.
11/18/2013 20:04 saweet#53
Thanks everyone for sharing keys.

Quote:
Originally Posted by adek1994 View Post
Long time no see, saweet. Nice to see you again on ePvP's 9D section. You told it's easy to figure out the encryption keys. Can you tell - how?

By the way - thanks for great update.
The 2nd key is obvious because it's only used in 2 byte characters and only ever used in the 2nd byte position. They use XOR encryption so it becomes very obvious when null is XOR'd, because 0 XOR N = N. Thus N is the 2nd key.

The 1st key can be learned by knowing the most common character in a string, with that you can guess the possible keys. What I did was grab all the table names in both an unencrypted and an encrypted XSD and compared string length to find matches as possible candidates for the real value. MobModel_XMS was a good choice because we have 3 Ms in a single short string. With that I found ZxuZxsr{HOZD of the same string length in the encrypted file. Notice the pattern, 3 Zs in the same position?

If you know Z (5A) in a string is really M (4D), all we have to do is figure out what possible XORs of 4D will equal 5A to get a list of possible keys. I did this in python and had the key in a fraction of a second:

Code:
>>> [hex(i) for i in range(256) if 0x4d ^ i == 0x5a]
['0x17']
Lets see what happens (ciphertext is "ZxuZxsr{HOZD" in hex)
Code:
>>> ciphertext = bytearray([0x5A, 0x78, 0x75, 0x5A, 0x78, 0x73, 0x72, 0x7B, 0x48, 0x4F, 0x5A, 0x44])
>>> bytearray([ciphertext[i] ^ 0x17 for i in range(len(ciphertext))])
bytearray(b'MobModel_XMS')
>>>
Viola
11/19/2013 06:26 thai0101#54
Quote:
Originally Posted by saweet View Post
Thanks everyone for sharing keys.



The 2nd key is obvious because it's only used in 2 byte characters and only ever used in the 2nd byte position. They use XOR encryption so it becomes very obvious when null is XOR'd, because 0 XOR N = N. Thus N is the 2nd key.

The 1st key can be learned by knowing the most common character in a string, with that you can guess the possible keys. What I did was grab all the table names in both an unencrypted and an encrypted XSD and compared string length to find matches as possible candidates for the real value. MobModel_XMS was a good choice because we have 3 Ms in a single short string. With that I found ZxuZxsr{HOZD of the same string length in the encrypted file. Notice the pattern, 3 Zs in the same position?

If you know Z (5A) in a string is really M (4D), all we have to do is figure out what possible XORs of 4D will equal 5A to get a list of possible keys. I did this in python and had the key in a fraction of a second:

Code:
>>> [hex(i) for i in range(256) if 0x4d ^ i == 0x5a]
['0x17']
Lets see what happens (ciphertext is "ZxuZxsr{HOZD" in hex)
Code:
>>> ciphertext = bytearray([0x5A, 0x78, 0x75, 0x5A, 0x78, 0x73, 0x72, 0x7B, 0x48, 0x4F, 0x5A, 0x44])
>>> bytearray([ciphertext[i] ^ 0x17 for i in range(len(ciphertext))])
bytearray(b'MobModel_XMS')
>>>
Viola
greate work brb ... but can you explain how to program that 2 cipher XOR encrytion ? :D

it's working great !

[Only registered and activated users can see links. Click Here To Register...]
11/19/2013 09:26 Adek#55
Quote:
Originally Posted by thai0101 View Post
greate work brb ... but can you explain how to program that 2 cipher XOR encrytion ? :D

it's working great !

[Only registered and activated users can see links. Click Here To Register...]
Wow, great job. That's the one from Rage Zone? Or VN one?
11/19/2013 10:01 soly95#56
Quote:
Originally Posted by adek1994 View Post
Wow, great job. That's the one from Rage Zone? Or VN one?
VN .

Arale
11/19/2013 11:32 thai0101#57
Quote:
Originally Posted by adek1994 View Post
Wow, great job. That's the one from Rage Zone? Or VN one?
well that's CuuLongViet... handling 9D for Vietnamese

Quote:
Originally Posted by soly95 View Post
VN .

Arale
---> VN . ---> Yes

---> Arale ---> No (scum bag one)
11/19/2013 15:55 witek1992#58
Any idea how to translate 9D RU? When I open file it says it has no encryption...
When I click on Save As I get ZsutsuuHGzusuoOo etc.

I tried to save it with and without encryption, I tried to get my old XSD non ecrypted and put inside but i get ZsutsuuHGzusuoOo...
[Only registered and activated users can see links. Click Here To Register...]
11/19/2013 16:53 saweet#59
Quote:
Originally Posted by witek1992 View Post
Any idea how to translate 9D RU? When I open file it says it has no encryption...
Can you upload the XSD so I can take a look?
11/19/2013 17:17 witek1992#60
Quote:
Originally Posted by saweet View Post
Can you upload the XSD so I can take a look?
Here it is:
[Only registered and activated users can see links. Click Here To Register...]

thanks for looking at it.