std::string TPacketCypher::DecryptPasswordString(std::string passwordstring) { std::stringstream ss; std::string temppasswordstring, restoredpassword; int hex, count = 1; //Wenn Password gerade dann erste 2 Chars löschen ansonsten 3 if(passwordstring.length() %2 == 0) { passwordstring.erase(0, 2); } else { passwordstring.erase(0, 3); } //Jeden zweiten Buchstaben zusammenfügen und anschließend nen Leerzeichen setzen for(auto i = 1; i < passwordstring.length(); i+=2, count++) { temppasswordstring += passwordstring[i]; if(count %2 == 0) { temppasswordstring += ' '; } } //Bytes in String umwandeln ss.str(temppasswordstring); while(ss >> std::hex >> hex) { restoredpassword.push_back(hex); } return restoredpassword; } //------------------------------------------------------------ std::string TPacketCypher::EncryptGamePacket(std::string str) { std::string encrypted_string; int length = str.length(); int secondlength = (length / 122); int zaehler = 0; //Packet encrypten for (int i = 0 ; i < length; i++) { if(i == (122 * zaehler)) { if(secondlength == 0) { encrypted_string += abs((((length / 122) * 122) - length)); } else { encrypted_string += 0x7A; secondlength--; zaehler++; } } encrypted_string += str[i] ^ 0xFF; } encrypted_string += (unsigned)0xFF; return encrypted_string; }