der würde nix bringen, der algo wäre doch zu kompli um zu kapieren D;
das 0x03 packet was man erhält daraus wird ein AESkey generiert, mit dem wird das Recv packet noch einmals gecryptet, davon werden 4 bytes genommen
PHP Code:
_asm{
MOV EAX, _RecvForByte
SHL EAX, 0x0F
XOR EAX, _RecvForByte
MOV _RecvForByte, EAX
}
gexort, die kommen als erstes ans HS packet, die nächsten 4 bytes sind easy, die _RecvForByte werden mit einer Addresse Gexort, nach jedem update anders...
Und beim nächsten Packet werden die alten 4 Bytes genommen und verschlüsselt.
Der Rest vom HS packet ist statisch, das sind Hashes etc. alles gleich außer am ende kommen nochmal die ersten 4 bytes dran. Dann wird nochmal ein AESkey generiert und mit dem wird das ganze HS packet noch einmals gecryptet und dann natürlich nochmal standard Kal crypt
Im großen und ganzen denke ich könnte es jeder schaffen, das wichtigste ist durchblick zu haben bzw man darf nicht zulange pausen machen, ich hatte mich mal 2~3 Tage intensiv mit beschäftigt, wenn man zulange pause macht kommt man nichtmehr rein. Ich würde mich zb. nicht noch einmal ransetzen, ich verstehe mein eigenen Code selber kaum noch, ich bin froh das es so geht wie es ist ;D
(habe nur Bahnhof verstanden und wäre beinahe verzweifelt wo ich nochmal die Funcs nachprüfen musste weil ich die Deklartion's namen geändert hatte und die Funcs falsch generiert hatten <,<)
Deklartion sind 9k Zeilen
Functionen 2,2k
Main 260
Die nächsten Packets werden auch ungefähr gleich generiert, die ersten 8 bytes also die ersten und 2ten 4Bytes werden so generiert wie schon gesagt, der rest vom Packet ist leider nicht statisch... deswegen hatte noch keine lust zu Reversen
Aber ich denke es sind auch normal Hashes von der Engine... nur das Recv denke ich abfragt woher die Bytes kommen sollen und dann werden die Hashes generiert...
denke es ist nicht viel komplizierter.
Also vor Thiesius habe ich dick respekt, er hat ja alles ohne Runtime debugging nachgebaut. Ich hab zwar viele Funcs rauskopiert aber musste die alle einzelnd nachprüfen und Fehler finden ;\
Weil IDA ist auch nicht immer 100% fehlerfrei.