diff --git a/src/BINK1998.cpp b/src/BINK1998.cpp index 7a4efb5..45f2a5a 100644 --- a/src/BINK1998.cpp +++ b/src/BINK1998.cpp @@ -45,7 +45,7 @@ bool BINK1998::Verify( EC_GROUP *eCurve, EC_POINT *basePoint, EC_POINT *publicKey, - char (&pKey)[25] + char (&pKey)[25] ) { BN_CTX *numContext = BN_CTX_new(); @@ -136,10 +136,10 @@ bool BINK1998::Verify( void BINK1998::Generate( EC_GROUP *eCurve, EC_POINT *basePoint, - BIGNUM *genOrder, - BIGNUM *privateKey, - DWORD pSerial, - char (&pKey)[25] + BIGNUM *genOrder, + BIGNUM *privateKey, + DWORD pSerial, + char (&pKey)[25] ) { BN_CTX *numContext = BN_CTX_new(); diff --git a/src/BINK1998.h b/src/BINK1998.h index e6ac5f7..0af8bda 100644 --- a/src/BINK1998.h +++ b/src/BINK1998.h @@ -8,12 +8,34 @@ #include "header.h" class BINK1998 { - static void Unpack (QWORD (&pRaw)[2], DWORD &pSerial, DWORD &pHash, QWORD &pSignature); - static void Pack (QWORD (&pRaw)[2], DWORD pSerial, DWORD pHash, QWORD pSignature); + static void Unpack( + QWORD (&pRaw)[2], + DWORD &pSerial, + DWORD &pHash, + QWORD &pSignature + ); + static void Pack( + QWORD (&pRaw)[2], + DWORD pSerial, + DWORD pHash, + QWORD pSignature + ); public: - static bool Verify (EC_GROUP *eCurve, EC_POINT *basePoint, EC_POINT *publicKey, char (&pKey)[25]); - static void Generate (EC_GROUP *eCurve, EC_POINT *basePoint, BIGNUM *genOrder, BIGNUM *privateKey, DWORD pSerial, char (&pKey)[25]); + static bool Verify( + EC_GROUP *eCurve, + EC_POINT *basePoint, + EC_POINT *publicKey, + char (&pKey)[25] + ); + static void Generate( + EC_GROUP *eCurve, + EC_POINT *basePoint, + BIGNUM *genOrder, + BIGNUM *privateKey, + DWORD pSerial, + char (&pKey)[25] + ); }; #endif //WINDOWSXPKG_BINK1998_H diff --git a/src/BINK2002.cpp b/src/BINK2002.cpp index 08773a0..09dad22 100644 --- a/src/BINK2002.cpp +++ b/src/BINK2002.cpp @@ -35,7 +35,7 @@ void BINK2002::Pack( QWORD (&pRaw)[2], DWORD pChannelID, DWORD pHash, - QWORD &pSignature, + QWORD pSignature, DWORD pAuthInfo ) { // AuthInfo [113..104] <- Signature [103..42] <- Hash [41..11] <- Channel ID [10..1] <- Upgrade [0] @@ -48,7 +48,7 @@ bool BINK2002::Verify( EC_GROUP *eCurve, EC_POINT *basePoint, EC_POINT *publicKey, - char (&cdKey)[25] + char (&cdKey)[25] ) { BN_CTX *context = BN_CTX_new(); @@ -174,11 +174,11 @@ bool BINK2002::Verify( void BINK2002::Generate( EC_GROUP *eCurve, EC_POINT *basePoint, - BIGNUM *genOrder, - BIGNUM *privateKey, - DWORD pChannelID, - DWORD pAuthInfo, - char (&pKey)[25] + BIGNUM *genOrder, + BIGNUM *privateKey, + DWORD pChannelID, + DWORD pAuthInfo, + char (&pKey)[25] ) { BN_CTX *numContext = BN_CTX_new(); diff --git a/src/BINK2002.h b/src/BINK2002.h index c1e9f41..0cb81f5 100644 --- a/src/BINK2002.h +++ b/src/BINK2002.h @@ -8,12 +8,37 @@ #include "header.h" class BINK2002 { - static void Unpack (QWORD (&pRaw)[2], DWORD &pChannelID, DWORD &pHash, QWORD &pSignature, DWORD &pAuthInfo); - static void Pack (QWORD (&pRaw)[2], DWORD pChannelID, DWORD pHash, QWORD &pSignature, DWORD pAuthInfo); + static void Unpack( + QWORD (&pRaw)[2], + DWORD &pChannelID, + DWORD &pHash, + QWORD &pSignature, + DWORD &pAuthInfo + ); + static void Pack( + QWORD (&pRaw)[2], + DWORD pChannelID, + DWORD pHash, + QWORD pSignature, + DWORD pAuthInfo + ); public: - static bool Verify (EC_GROUP *eCurve, EC_POINT *basePoint, EC_POINT *publicKey, char (&cdKey)[25]); - static void Generate (EC_GROUP *eCurve, EC_POINT *basePoint, BIGNUM *genOrder, BIGNUM *privateKey, DWORD pChannelID, DWORD pAuthInfo, char (&pKey)[25]); + static bool Verify( + EC_GROUP *eCurve, + EC_POINT *basePoint, + EC_POINT *publicKey, + char (&cdKey)[25] + ); + static void Generate( + EC_GROUP *eCurve, + EC_POINT *basePoint, + BIGNUM *genOrder, + BIGNUM *privateKey, + DWORD pChannelID, + DWORD pAuthInfo, + char (&pKey)[25] + ); }; #endif //WINDOWSXPKG_BINK2002_H diff --git a/src/confid.cpp b/src/confid.cpp index d447598..3f98f79 100644 --- a/src/confid.cpp +++ b/src/confid.cpp @@ -30,7 +30,7 @@ QWORD ConfirmationID::residue_sub(QWORD x, QWORD y) #ifdef __GNUC__ inline QWORD ConfirmationID::__umul128(QWORD a, QWORD b, QWORD* hi) { - DQWORD r = (DQWORD)a * (DQWORD)b; + OWORD r = (OWORD)a * (OWORD)b; *hi = r >> 64; return (QWORD) r; } diff --git a/src/header.h b/src/header.h index e047a9f..206736a 100644 --- a/src/header.h +++ b/src/header.h @@ -87,7 +87,7 @@ typedef uint32_t DWORD; typedef uint64_t QWORD; #ifdef __SIZEOF_INT128__ -typedef unsigned __int128 DQWORD; +typedef unsigned __int128 OWORD; #endif // Global variables @@ -104,8 +104,8 @@ EC_GROUP *initializeEllipticCurve( std::string generatorYSel, std::string publicKeyXSel, std::string publicKeyYSel, - EC_POINT *&genPoint, - EC_POINT *&pubPoint + EC_POINT *&genPoint, + EC_POINT *&pubPoint ); // key.cpp