From 56d6891197bc8da27c5fb20489c79332818c543e Mon Sep 17 00:00:00 2001 From: Bernd Lörwald Date: Sat, 8 Nov 2014 17:16:37 +0100 Subject: Tools/ConnectionPatcher: add documentation on what is patched --- src/tools/connection_patcher/Program.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/tools/connection_patcher/Program.cpp') diff --git a/src/tools/connection_patcher/Program.cpp b/src/tools/connection_patcher/Program.cpp index a613485f839..93bfc73051f 100644 --- a/src/tools/connection_patcher/Program.cpp +++ b/src/tools/connection_patcher/Program.cpp @@ -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"; -- cgit v1.2.3 From 4708560b7c7cb214cf3af65b30e68fc0301a8394 Mon Sep 17 00:00:00 2001 From: Bernd Lörwald Date: Sat, 8 Nov 2014 17:18:18 +0100 Subject: Tools/ConnectionPatcher: fix: don't try setting permissions for non-existing file when patching module --- src/tools/connection_patcher/Program.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/tools/connection_patcher/Program.cpp') diff --git a/src/tools/connection_patcher/Program.cpp b/src/tools/connection_patcher/Program.cpp index 93bfc73051f..eee80362500 100644 --- a/src/tools/connection_patcher/Program.cpp +++ b/src/tools/connection_patcher/Program.cpp @@ -60,7 +60,8 @@ namespace Connection_Patcher if (!fs::exists(modulePath)) fs::create_directories(modulePath); - fs::permissions(modulePath / moduleName, fs::add_perms | fs::others_write | fs::group_write | fs::owner_write); + if (fs::exists(modulePath / modulePath)) + fs::permissions(modulePath / moduleName, fs::add_perms | fs::others_write | fs::group_write | fs::owner_write); patcher.Finish(modulePath / moduleName); fs::permissions(modulePath / moduleName, fs::remove_perms | fs::others_write | fs::group_write | fs::owner_write); -- cgit v1.2.3 From a1aea0546ccf49fa6dd4b78dce9b5fe1ccd41622 Mon Sep 17 00:00:00 2001 From: Bernd Lörwald Date: Sat, 8 Nov 2014 17:18:35 +0100 Subject: Tools/ConnectionPatcher: fix: use patterns for mac on mac --- src/tools/connection_patcher/Program.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/tools/connection_patcher/Program.cpp') diff --git a/src/tools/connection_patcher/Program.cpp b/src/tools/connection_patcher/Program.cpp index eee80362500..56007232d20 100644 --- a/src/tools/connection_patcher/Program.cpp +++ b/src/tools/connection_patcher/Program.cpp @@ -194,7 +194,7 @@ int main(int argc, char** argv) do_patches (&patcher, renamed_binary_path); - do_module + do_module ( "97eeb2e28e9e56ed6a22d09f44e2ff43c93315e006bbad43bafc0defaa6f50ae.auth" , "/Users/Shared/Blizzard/Battle.net/Cache/" ); -- cgit v1.2.3