Well, I didn't expect someone will be interested in the things that happen in the pipe communication. Everything takes place on the "\\\\.\\pipe\\GameforgeClientJSONRPCMS2" (gameforge_client_api.dll). Generally the pipes can be treated like normal files, so you can read/write to pipe using WinApi calls like WriteFile/ReadFile (that whats NosTale does). The messages are very simple and non-complicated that makes it easy to write own launcher.
Eg. Request:
Code:
"{{\"id\":2,\"jsonrpc\":\"2.0\",\"method\":\"ClientLibrary.initSession\",\"params\":{{\"sessionId\":\"CENSORED\"}}}}"
Response:
Code:
"{{\"id\":2,\"jsonrpc\":\"2.0\",\"result\":\"CENSORED\"}}"
Quote:
Originally Posted by Cryless~
It can be cracked, not reversed, only if victim's password is too weak and any security measure is not enough for such people. In anyway the plaintext password (not sure if hashed) is sent to [Only registered and activated users can see links. Click Here To Register...] and you can easily sniff it. It does not matter how you implement it on server side.
It may be safer because sent once but still vulnerable.
|
There is no plaintext, because the packet is sent over http
s protocol, so it's almost impossbile to make some MITM attack, providing the launcher verifies the SSL certificate. Of course if you have access to the victim`s PC it won't change anything, but then there is really no way to protect your password. Even if it would be send in hashed form that changes nothing, because capturing the hashed string would be enough to get access to the account.
The problem with the "old" client is that your credentials may be compromised even without the access to the victim`s PC, lets say you log in into NosTale while connected to open WiFi in restaurant, someone can monitor your WiFi packets and taking into account that the "nostale crypto" is fully reversible simply grab your password. In current situation with new launcher, best what the attacker can get from the login/world connection is the one-time auth token