From 1b22c80c5c7dcaf0801c21f018e96a17d2bca2d9 Mon Sep 17 00:00:00 2001 From: ergo720 <45463469+ergo720@users.noreply.github.com> Date: Mon, 11 Mar 2019 20:44:38 +0100 Subject: [PATCH] Small update --- src/common/crypto/EmuRsa.cpp | 4 ++-- src/common/crypto/EmuRsa.h | 2 +- src/common/xbe/Xbe.cpp | 2 +- src/core/kernel/exports/EmuKrnlXc.cpp | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/common/crypto/EmuRsa.cpp b/src/common/crypto/EmuRsa.cpp index 331660a45..6775dcdc3 100644 --- a/src/common/crypto/EmuRsa.cpp +++ b/src/common/crypto/EmuRsa.cpp @@ -67,7 +67,7 @@ void init_tom_lib() } bool xbox_exp_mod(unsigned char* pA, const unsigned char* pB, const unsigned char* pC, const unsigned char* pD, - size_t b_size, size_t c_size, size_t d_size) + size_t a_size, size_t b_size, size_t c_size, size_t d_size) { mp_int a, b, c, d; CHK_MP_RET(mp_init(&a)); @@ -80,7 +80,7 @@ bool xbox_exp_mod(unsigned char* pA, const unsigned char* pB, const unsigned cha CHK_MP_RET(mp_exptmod(&b, &c, &d, &a)); - CHK_MP_RET(mp_export(pA, NULL, -1, 4, -1, 0, &a)); + CHK_MP_RET(mp_export(pA, NULL, -1, a_size, 0, 0, &a)); return true; } diff --git a/src/common/crypto/EmuRsa.h b/src/common/crypto/EmuRsa.h index 5acd2b0a6..daacaa194 100644 --- a/src/common/crypto/EmuRsa.h +++ b/src/common/crypto/EmuRsa.h @@ -46,7 +46,7 @@ typedef union _RSA_PUBLIC_KEY void init_tom_lib(); bool xbox_exp_mod(unsigned char* pA, const unsigned char* pB, const unsigned char* pC, const unsigned char* pD, - size_t b_size, size_t c_size, size_t d_size); + size_t a_size, size_t b_size, size_t c_size, size_t d_size); bool xbox_rsa_public(const unsigned char* in_buf, unsigned char* out_buf, RSA_PUBLIC_KEY key); bool verify_hash(const unsigned char* hash, const unsigned char* decryptBuffer, RSA_PUBLIC_KEY key); diff --git a/src/common/xbe/Xbe.cpp b/src/common/xbe/Xbe.cpp index 2e08fca44..4795115cf 100644 --- a/src/common/xbe/Xbe.cpp +++ b/src/common/xbe/Xbe.cpp @@ -792,7 +792,7 @@ bool Xbe::CheckXbeSignature() memcpy(keys[2].Default, (void*)xboxkrnl::XePublicKeyDataChihiroBoot, 284); // TODO: memcpy(keys[3].Default, (void*)xboxkrnl::XePublicKeyDataDebug, 284); - for (int i = 0; i < keys.size(); i++) { + for (unsigned int i = 0; i < keys.size(); i++) { if (xbox_rsa_public(m_Header.pbDigitalSignature, crypt_buffer, keys[i])) { if (verify_hash(SHADigest, crypt_buffer, keys[i])) { // Load the successful key into XboxKrnl::XePublicKeyData for application use diff --git a/src/core/kernel/exports/EmuKrnlXc.cpp b/src/core/kernel/exports/EmuKrnlXc.cpp index fe2ff2ca0..df38b3248 100644 --- a/src/core/kernel/exports/EmuKrnlXc.cpp +++ b/src/core/kernel/exports/EmuKrnlXc.cpp @@ -216,7 +216,7 @@ xboxkrnl::ULONG NTAPI JumpedModExp ) { unsigned int len = dwN * 4; - if (xbox_exp_mod((unsigned char*)pA, (const unsigned char*)pB, (const unsigned char*)pC, (const unsigned char*)pD, len, len, len)) { + if (xbox_exp_mod((unsigned char*)pA, (const unsigned char*)pB, (const unsigned char*)pC, (const unsigned char*)pD, len, len, len, len)) { return 1; }