About the V25 encryption and stuff, as I said, I haven't done research or something, but I guess it's like this now;
[CLIENT] [
"RC4 Class"] [
key decoder etc] [
diffie hellman decoder] --
connection (@A packet with key sent through) -- [
diffie hellman encoder] [
implementation of RC4 class with key set etc]
[SERVER]
Not just the V25 encryption would have changed (like it did before), but the Diffie Hellman method is a different way of sharing the public key for the encryption. (@A packet, aka, message 1)
Normally the public key would be random generated by the server, then sent through the connection with message 1. (@A)
Now, it still goes like that, but with a minor change:
Before sending the client the public key, it is first 'encoded' with the Diffie Hellman stuff.
Then it's sent to the client, which decodes the key (so it becomes the 'real' public key), mixed up with the private key & forms the actual encryption key. (dunno of the private key still exists, haven't done research, but I bet it does)
So, the Diffie Hellman stuff is used to prevent people from 'reading' the public key and making their own client. (by shoving the public key into an encryption class & encrypt and decrypt packets)
The point is that the public key is only readable by an original Habbo client.
That way, you would have to do two things;
- 'Fix' the current encryption class made by Mike/Erik
- Found out how to 'decode' the public key sent by server, so you can 'shove' it in (setkey) in the encryption class. You can't just add a weird DLL and some classes for a Diffie Hellman
implementation to Holograph.
Why you would ask?
Well, because an implementation of Diffie Hellman isn't just '
the Diffie Hellman' stuff, like an RC4 implementation isn't '
the RC4 method'.
They are just ways of doing things, same applies to (AStar) pathfinding.
Sulake has made their own implementations of Diffie Hellman, RC4 and AStar, there are no 'standards'.
Again, this is just the stuff I have in my head, I haven't verified it or done research, but I bet it's working like that.
Should give you a 'refreshed' way of thinking, because (if I've seen it correctly) now you guys are ripping some Diffie Hellman example from the interwebs and try to use it with Habbo's implementation.
- Nillus
EDIT:
Oh yes, vista4life said that Holo's biggest Achilles heel (wtf) is the pathfinder, which is a bad implementation of AStar although I wrote it.

I don't feel for writing a new pathfinder, but if you guys are down with me fully removing the AStar pathfinder & replacing it with the PinnochioPathfinder, then I would do that.

Result: same pathfinding as at the 'old' retro servers (no cornerning etc), but you lag etc is gone and you can finally use Holo.