Tools/ConnectionPatcher: add documentation on what is patched

This commit is contained in:
Bernd Lörwald
2019-09-29 01:27:33 +02:00
committed by Ovahlord
parent 178a60c440
commit f62e49f3ef

View File

@@ -48,7 +48,9 @@ namespace Connection_Patcher
std::cout << "Patching module...\n";
Patcher patcher(file);
std::cout << "patching Password\n";
// if (Authentication::ServerSignature::ClientValidateProof(x)) to if (true)
patcher.Patch(PATCH::Password(), PATTERN::Password());
std::string const moduleName(Helper::GetFileChecksum(patcher.binary) + ".auth");
@@ -82,13 +84,24 @@ namespace Connection_Patcher
void do_patches(Patcher* patcher, boost::filesystem::path output)
{
std::cout << "patching Portal\n";
// '.logon.battle.net' -> '' to allow for set portal 'host'
patcher->Patch(Patches::Common::Portal(), Patterns::Common::Portal());
std::cout << "patching redirect RSA Modulus\n";
// public component of connection signing key to use known key pair
patcher->Patch(Patches::Common::Modulus(), Patterns::Common::Modulus());
std::cout << "patching BNet\n";
// hardcode 213.248.127.130 in IP6::Address::Address(IP4::Address::Address const&)
// used in Creep::Layer::Authentication::Online(), which overwrites GameStream::Connection::GetAddressRemote()
// to avoid CRYPT_SERVER_ADDRESS_IPV6 check in module
patcher->Patch(PATCH::BNet(), PATTERN::BNet());
std::cout << "patching Signature\n";
// if (Authentication::ModuleSignature::Validator::IsValid(x)) to if (true) in
// Creep::Instance::LoadModule() to allow for unsigned auth module
patcher->Patch(PATCH::Signature(), PATTERN::Signature());
patcher->Finish(output);
std::cout << "Patching done.\n";