Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Kal Online
You last visited: Today at 01:57

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Emulator basics

Discussion on Emulator basics within the Kal Online forum part of the MMORPGs category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Aug 2015
Posts: 4
Received Thanks: 0
Emulator basics

Hi, i've been sniffing some kal packets, in order to try creating an open source server emulator written in node.js (which sounds more apropriate for nowadays) but i need help understanding the basics and figure some patterns

i altered config.pk to add my own localhost on the list of server selection and when i click on server selection on the latest engine i always get a welcome packet like these:

<Buffer 19 00 3e d2 c9 9f 91 82 a8 a6 cd 73 14 20 d1 87 db 40 ff c9 ee 3c 50 91 8d>

<Buffer 19 00 3e 10 e7 15 91 82 a8 a6 cd 73 14 20 d1 87 db 40 ff c9 ee 3c 50 91 b9>

which i reply with [0x1f, 0x00, 0x85, 0x2a, 0x92, 0xae, 0xd3, 0xdd, 0xc6, 0xff, 0xb7, 0xea, 0x86, 0x9f, 0xb7, 0xea, 0xc5, 0x8d, 0x24, 0x68, 0x91, 0xd9, 0x91, 0x91, 0x91, 0xee, 0x91, 0x91, 0xe1, 0x48, 0xe1]

and it works allowing me to fill in my login info, but i still cant quite figure how this first handshake allows me to manipulate the future packets.

Some things i noticed:
  • it always starts with 19 00 3e
  • the first hex of the buffer is the total number of hexes it contains

if i keep imitating the packets i sniffed it allows me to go on to character selection and joining the world itself, but only with "pre-recorded" packets, not allowing me to edit those packets because they aren't decrypted.

so my questions are:

whats the logic behind that initial handshake? does it affect on the crypt itself?

anyone knows how do i decrypt the future packets like for example the login info that the client sends once you hit "log in"? i noticed it always has a separator hex between login and password on same buffer, but even the number of the hex used to separate changes on each iteration, probally because the cryptography being decided before that, but how?

Thanks in advance, and take it easy on me, its my first time posting here
RyuukuX is offline  
Old 09/06/2015, 13:03   #2
 
Kealy's Avatar
 
elite*gold: 0
Join Date: Dec 2009
Posts: 204
Received Thanks: 360
> using JS for a server emulator
> using JS for a server
> using JS
> for a dead game
> with a dead community
> zero clue about RE

Go home, kid.
Kealy is offline  
Old 09/06/2015, 14:00   #3
 
elite*gold: 0
Join Date: Aug 2015
Posts: 2
Received Thanks: 0
Oh you, trololol
CrackPot123 is offline  
Old 09/07/2015, 21:26   #4
 
meak1's Avatar
 
elite*gold: 220
Join Date: Jun 2007
Posts: 3,768
Received Thanks: 1,126
the first packet which u recvive is after you sended 'connect server'
with those infos you get the Key for decrypt/encrypt and the Sync'

Sync is 2 bytes long and in every send packet
meak1 is offline  
Old 10/15/2015, 21:03   #5
 
tedelex06's Avatar
 
elite*gold: 0
Join Date: Sep 2007
Posts: 76
Received Thanks: 29
Quote:
Originally Posted by Kealy View Post
> using JS for a server emulator
> using JS for a server
> using JS
> for a dead game
> with a dead community
> zero clue about RE

Go home, kid.
Is that all you can say?

FWIW using node for a server emulator isn't such a bad choice, although it wouldn't be my first choice. It's single threaded but performs amazingly at IO.
tedelex06 is offline  
Reply

Tags
emulator, node.js, packets


Similar Threads Similar Threads
[WoW]Basics zum Ersten, Basics zum Zweiten...
08/12/2004 - User Submitted News - 0 Replies



All times are GMT +1. The time now is 01:57.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.