Decryption Problem - 0 Terminierung verhinden?

06/26/2012 15:00 Trollface-#1
Heyho,

ich stehe derzeit ziemlich aufm Schlauch undzwar gehts um folgendes:

Encrypted Packet:

Code:
    char buffer[] = {0xF6 ,0xFA ,0x09 ,0x01 ,0x77 ,0x0C ,0x10 ,0x0C ,0x03 ,0x00 ,0xFC ,0x0A ,0xF1 ,0x80 ,0x6F ,0xF6 ,0xFA ,0x09 ,0x11 ,0x7B ,0x09 ,0x10 ,0xFC ,0xFB ,0x0E ,0xFC ,0x07 ,0x10 ,0x0A ,0x01 ,0x0B ,0xF1 ,0x80 ,0x6F};
Das Packet wird anhand der "Session-id" und anderen Verschlüsselungen verschlüsselt.
Wie man sieht wird ab Position 9, 0 Terminiert.
Allerdings brauche ich das 0x00 Byte weil es am ende ein 'o' ergibt (Ist immer unterschiedlich je nach Sessionid).
Nun ist mein Problem das ich nicht weiß wie ich das durch die Decryption jagen soll wegen der 0 Terminierung, könnte zwar das Byte dort ersetzen/löschen allerdings fehlt mir dann ein Buchstabe im Packet. :/

Nun weiß ich gerade kein weg und hoffe auf hilfe.

Es handelt sich hierbei um einen PServer den ich in der Freizeit code bin schon relativ weit aber ist blöde wenn dann jeder 10te. Client das obige Problem hat.

Es liegt aber aufjedenfall an der Session ID wodurch die 0x00 Bytes in den Packet auftauchen durch die Encryption, somit darf die Session ID vielleicht nur unter bestimmten vorraussetzungen erstellt werden z.b gerade/ungerade oder es gibt ne Lösung für das obige Problem.

Regards :)
06/26/2012 16:37 Nightblizard#2
C-Arrays sind veraltet, [Only registered and activated users can see links. Click Here To Register...] ist immer die bessere Wahl.
06/26/2012 16:42 Trollface-#3
Quote:
Originally Posted by Nightblizard View Post
C-Arrays sind veraltet, [Only registered and activated users can see links. Click Here To Register...] ist immer die bessere Wahl.
Danke , ist mir aber bekannt. :)
Habe mir anfangs einen unsauberen Coding Stil angewohnt weswegen ich noch oft zu Char Arrays greife durch gewohnheit, bin schon dabei mir das abzugewöhnen.

Hättest du vielleicht eine Idee zur Lösung des Problemes?
06/26/2012 17:31 Dr. Coxxy#4
nehme mal an, dass die decrypt funktion von dir ist, wenn ja übergib doch einfach die länge des keys als parameter?
06/26/2012 17:44 Trollface-#5
Quote:
Originally Posted by Dr. Coxxy View Post
nehme mal an, dass die decrypt funktion von dir ist, wenn ja übergib doch einfach die länge des keys als parameter?
Verdammt Simple Lösung , wodrauf ich selber kommen könnte.
Aufjedenfall vielen Dank und hiermit hat sich der Thread erledigt ;)
06/26/2012 20:54 Feenverstärker#6
Sorry dachte ist was anderes
06/27/2012 02:35 ms​#7
Quote:
Originally Posted by Feenverstärker View Post
Könnte man es nicht per Syntax lösen?
bittewas?
06/27/2012 07:42 Nightblizard#8
Quote:
Originally Posted by Trollface- View Post
Danke , ist mir aber bekannt. :)
Habe mir anfangs einen unsauberen Coding Stil angewohnt weswegen ich noch oft zu Char Arrays greife durch gewohnheit, bin schon dabei mir das abzugewöhnen.

Hättest du vielleicht eine Idee zur Lösung des Problemes?
std::vector ist die Lösung des Problemes. Die Klasse beinhaltet die Länge des Vectors und sie interessiert sich nicht für Nullterminierung.

Und die Aussage "ich habe mir einen schelchten Stil angewöhnt" entschuldigt nichts. Gewöhn dich um, auch wenn es am Anfang schwer fällt, lohnen tut es sich auf jeden Fall.