From 2a9c2934727f875c612f0bc1297cadcfe72d2149 Mon Sep 17 00:00:00 2001 From: momo5502 Date: Sat, 4 Mar 2023 10:41:20 +0100 Subject: [PATCH 01/30] Get things to work with the latest steam update --- src/client/component/arxan.cpp | 8 ++++---- src/client/component/auth.cpp | 3 ++- src/client/loader/component_loader.hpp | 4 +++- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/client/component/arxan.cpp b/src/client/component/arxan.cpp index c99b3d45..83746684 100644 --- a/src/client/component/arxan.cpp +++ b/src/client/component/arxan.cpp @@ -638,7 +638,7 @@ namespace arxan // Searching them is quite slow. // Maybe precomputing that might be better? - /*const auto intact_results = "89 04 8A 83 45 ? FF"_sig; + const auto intact_results = "89 04 8A 83 45 ? FF"_sig; const auto split_results = "89 04 8A E9"_sig; for (auto* i : intact_results) @@ -649,9 +649,9 @@ namespace arxan for (auto* i : split_results) { patch_split_basic_block_integrity_check(i); - }*/ + } - search_and_patch_integrity_checks_precomputed(); + //search_and_patch_integrity_checks_precomputed(); } LONG WINAPI exception_filter(const LPEXCEPTION_POINTERS info) @@ -800,4 +800,4 @@ namespace arxan }; } -REGISTER_COMPONENT(arxan::component) +REGISTER_COMPONENT_WORKING(arxan::component) diff --git a/src/client/component/auth.cpp b/src/client/component/auth.cpp index a4eb6cfd..e133f376 100644 --- a/src/client/component/auth.cpp +++ b/src/client/component/auth.cpp @@ -101,7 +101,8 @@ namespace auth return 0x110000100000000 | (::utils::cryptography::random::get_integer() & ~0x80000000); } - return get_key().get_hash(); + //return get_key().get_hash(); + return 0x110000100000001; }(); return guid; diff --git a/src/client/loader/component_loader.hpp b/src/client/loader/component_loader.hpp index 4d25d089..7f2e9970 100644 --- a/src/client/loader/component_loader.hpp +++ b/src/client/loader/component_loader.hpp @@ -38,8 +38,10 @@ namespace component_loader }; }; -#define REGISTER_COMPONENT(name) \ +#define REGISTER_COMPONENT_WORKING(name) \ namespace \ { \ component_loader::installer __component; \ } + +#define REGISTER_COMPONENT(name) From 8d3fd2d92d28129d4ccc7bc13c220e189e745275 Mon Sep 17 00:00:00 2001 From: momo5502 Date: Sat, 4 Mar 2023 10:55:31 +0100 Subject: [PATCH 02/30] Adjust integrity check patches --- src/client/component/arxan.cpp | 6 +- src/client/component/integrity.hpp | 2438 ++++++++++++++-------------- 2 files changed, 1222 insertions(+), 1222 deletions(-) diff --git a/src/client/component/arxan.cpp b/src/client/component/arxan.cpp index 83746684..a135cd40 100644 --- a/src/client/component/arxan.cpp +++ b/src/client/component/arxan.cpp @@ -638,7 +638,7 @@ namespace arxan // Searching them is quite slow. // Maybe precomputing that might be better? - const auto intact_results = "89 04 8A 83 45 ? FF"_sig; + /*const auto intact_results = "89 04 8A 83 45 ? FF"_sig; const auto split_results = "89 04 8A E9"_sig; for (auto* i : intact_results) @@ -649,9 +649,9 @@ namespace arxan for (auto* i : split_results) { patch_split_basic_block_integrity_check(i); - } + }*/ - //search_and_patch_integrity_checks_precomputed(); + search_and_patch_integrity_checks_precomputed(); } LONG WINAPI exception_filter(const LPEXCEPTION_POINTERS info) diff --git a/src/client/component/integrity.hpp b/src/client/component/integrity.hpp index 1ef7c15b..5f53750b 100644 --- a/src/client/component/integrity.hpp +++ b/src/client/component/integrity.hpp @@ -4,1229 +4,1229 @@ constexpr uint64_t intact_integrity_check_blocks[] = { - 0x1412DB621, - 0x1421902A2, - 0x14219E77E, - 0x14219FDDA, - 0x1421A3824, - 0x1421A4AA4, - 0x1421AA8A0, - 0x1421AAA0C, - 0x1421ABF14, - 0x1421AFB02, - 0x1421B18F9, - 0x1421B1AEF, - 0x1421B704D, - 0x1421B7243, - 0x1421BAB1D, - 0x1421C006B, - 0x1421C574D, - 0x1421C9FF1, - 0x1421CB658, - 0x1421D16B3, - 0x1421D3654, - 0x1421D4795, - 0x1421D5FDD, - 0x1421D62DF, - 0x1421DAC08, - 0x1421DD815, - 0x1421E6CA7, - 0x1421EB71A, - 0x1421F8B05, - 0x1421FA1E4, - 0x1421FB449, - 0x1422458FB, - 0x14224B0D4, - 0x1422E0837, - 0x1422F7745, - 0x1422FAD8F, - 0x14230555B, - 0x14230DC41, - 0x14231ACB5, - 0x14231D095, - 0x14287A304, - 0x14291E38F, - 0x142BE5E54, - 0x142C73251, - 0x142C7CC0C, - 0x142CCCF0F, - 0x15AB3876F, - 0x15AB42403, - 0x15AB45FBA, - 0x15AB4784F, - 0x15AB4B130, - 0x15AB7F2F8, - 0x15AB99231, - 0x15ABB5BB6, - 0x15ABB70A0, - 0x15ACE9577, - 0x15ACEB2B2, - 0x15AD8F00F, - 0x15AD92701, - 0x15AD94AF3, - 0x15AD98873, - 0x15AF34A25, - 0x15AF3734F, - 0x15AF38B05, - 0x15AF519D6, - 0x15AF53104, - 0x15AF54470, - 0x15AFC5EF0, - 0x15AFC86F5, - 0x15AFE60C0, - 0x15B1196C1, - 0x15B15F458, - 0x15B162864, - 0x15B2C472C, - 0x15B2CF6C6, - 0x15B2E3008, - 0x15B2E9D80, - 0x15B2EC126, - 0x15B2EF0D2, - 0x15B2F7AB4, - 0x15B2FB38D, - 0x15B2FCECF, - 0x15B2FE030, - 0x15B2FE0D9, - 0x15B3073D1, - 0x15B3ECD5F, - 0x15B3ED7FF, - 0x15B45BA07, - 0x15B45CCA5, - 0x15B45E227, - 0x15B45EBCF, - 0x15B45F29D, - 0x15B465012, - 0x15B46EEAF, - 0x15B47318D, - 0x15B47612F, - 0x15B4771C6, - 0x15B478482, - 0x15B494A82, - 0x15B495540, - 0x15B4A5E34, - 0x15B4AA305, - 0x15B4AD6C0, - 0x15B4B3B38, - 0x15B4C6F95, - 0x15B4C9939, - 0x15B4E0C37, - 0x15B4E4735, - 0x15B4EECA8, - 0x15B4F943E, - 0x15B501019, - 0x15B5040EE, - 0x15B5794A8, - 0x15B580AEE, - 0x15B580C7A, - 0x15B58B8C1, - 0x15B58FDC6, - 0x15B5912CF, - 0x15B594B45, - 0x15B59E430, - 0x15B5A1B1D, - 0x15B5B95CD, - 0x15B5C3275, - 0x15B5C4994, - 0x15B5C824A, - 0x15B5C99EB, - 0x15B5CA8B7, - 0x15B64336B, - 0x15B660AB5, - 0x15B66A990, - 0x15B66BF31, - 0x15B66FF8A, - 0x15B6777EB, - 0x15B67CAA8, - 0x15B7AB901, - 0x15B7CB0BE, - 0x15B7CF1C4, - 0x15B7D7EDB, - 0x15B7EDBDD, - 0x15B7EE9A3, - 0x15B7F6932, - 0x15B7F742C, - 0x15B7F7B78, - 0x15B828EEB, - 0x15B83DBCB, - 0x15B85BF85, - 0x15B866284, - 0x15B869F95, - 0x15B86C3D4, - 0x15B86E706, - 0x15B88D858, - 0x15B88F6A6, - 0x15B8919FE, - 0x15B892F11, - 0x15B89C735, - 0x15B8A65DF, - 0x15B8AFEC7, - 0x15B8B2F68, - 0x15B8E2731, - 0x15B8E2D48, - 0x15B8E6FD5, - 0x15B8E8BAB, - 0x15B91E4C0, - 0x15B91EE7A, - 0x15B91F2B5, - 0x15B923CD9, - 0x15B92E2D7, - 0x15B92E66D, - 0x15B9B782C, - 0x15B9BAECA, - 0x15B9BAFA9, - 0x15B9BDACD, - 0x15BAEA56F, - 0x15BAEC562, - 0x15BAF8E49, - 0x15BAF9C83, - 0x15BAFE4E6, - 0x15BB13DF6, - 0x15BB1A32D, - 0x15BB1BA87, - 0x15BB85BC7, - 0x15BB87839, - 0x15BB9189F, - 0x15BB9431C, - 0x15BB94CA6, - 0x15BB9824E, - 0x15BB9B796, - 0x15BB9E52D, - 0x15BBB8761, - 0x15BBB8C72, - 0x15BBBD472, - 0x15BBD4880, - 0x15BBD548E, - 0x15BC29769, - 0x15BC30BFA, - 0x15BC49C54, - 0x15BC4A648, - 0x15BC4C37D, - 0x15BC4D187, - 0x15BC4E1FA, - 0x15BC6520A, - 0x15BC6C18C, - 0x15BC7E73D, - 0x15BC7E9A0, - 0x15BC82F00, - 0x15BC83DDA, - 0x15BC89C76, - 0x15BCA56FF, - 0x15BCA91B3, - 0x15BCB2E4C, - 0x15BCB3208, - 0x15BCB353C, - 0x15BCBFB20, - 0x15BCC0472, - 0x15BDF18B2, - 0x15BDF2261, - 0x15BDF27BB, - 0x15BDF4316, - 0x15BDF57BB, - 0x15BDF6981, - 0x15BDF9718, - 0x15BDFABD9, - 0x15BE018F6, - 0x15BE06F66, - 0x15BE0B4D2, - 0x15BE158F9, - 0x15BE17D18, - 0x15BE18878, - 0x15BE1DEE2, - 0x15BE2BD0F, - 0x15BE2E29E, - 0x15BE38ACF, - 0x15BE42E18, - 0x15BE45BE1, - 0x15BE495DA, - 0x15BE52B4D, - 0x15BE629CC, - 0x15BE62A75, - 0x15BE84993, - 0x15BEA7A17, - 0x15BEAA6AF, - 0x15BEAB97F, - 0x15BEEBAFB, - 0x15BEF1CE2, - 0x15BEF4B31, - 0x15BEF53CD, - 0x15BEF5477, - 0x15BF32710, - 0x15BF371E0, - 0x15BF38E96, - 0x15BF3AFC2, - 0x15BF40734, - 0x15BF437AD, - 0x15BF44989, - 0x15BF4867E, - 0x15BF4BD4A, - 0x15BF68F29, - 0x15BF8BE64, - 0x15BF9E475, - 0x15BFA6771, - 0x15BFABEE4, - 0x15BFAEB25, - 0x15BFB5B60, - 0x15BFB6A48, - 0x15BFD7856, - 0x15BFD812A, - 0x15BFD9323, - 0x15BFFD00C, - 0x15C002DB6, - 0x15C003A6C, - 0x15C0046A8, - 0x15C00BF11, - 0x15C023E0F, - 0x15C027791, - 0x15C033861, - 0x15C035051, - 0x15C03578B, - 0x15C03803D, - 0x15C03F733, - 0x15C041896, - 0x15C06421B, - 0x15C064ADB, - 0x15C0E7A3A, - 0x15C10E820, - 0x15C1114A9, - 0x15C116067, - 0x15C116EA8, - 0x15C12B095, - 0x15C1588AC, - 0x15C159C1B, - 0x15C1670F3, - 0x15C16E2F7, - 0x15C16FF53, - 0x15C171254, - 0x15C249A45, - 0x15C2788C2, - 0x15C2928F2, - 0x15C2A0D00, - 0x15C2AF398, - 0x15C2B3309, - 0x15C2B3AD7, - 0x15C2B3C73, - 0x15C2B671A, - 0x15C2B8D8C, - 0x15C2C4F37, - 0x15C2CB4C8, - 0x15C2D36FF, - 0x15C2ED222, - 0x15C2EE90A, - 0x15C304534, - 0x15C31F73F, - 0x15C324EE5, - 0x15C327643, - 0x15C327FF5, - 0x15C3389A0, - 0x15C342F66, - 0x15C34403C, - 0x15C35DEFB, - 0x15C362B4E, - 0x15C363A2F, - 0x15C41A269, - 0x15C493724, - 0x15C4A94D4, - 0x15C4B01C4, - 0x15C4B5467, - 0x15C4B57BF, - 0x15C4B77F9, - 0x15C4BA467, - 0x15C4BE25C, - 0x15C4C3ADB, - 0x15C4C5957, - 0x15C4C6FD9, - 0x15C4CF39C, - 0x15C4D16EF, - 0x15C4D1C52, - 0x15C4D7997, - 0x15C4DEBAE, - 0x15C4DF9FF, - 0x15C4E4C0F, - 0x15C4F0D5B, - 0x15C4F18F4, - 0x15C4F745B, - 0x15C4F75DD, - 0x15C4FD042, - 0x15C5039A3, - 0x15C51A523, - 0x15C590AB3, - 0x15C5A908F, - 0x15C5B50F2, - 0x15C5BD76D, - 0x15C5C5C76, - 0x15C5CB016, - 0x15C5CBB3A, - 0x15C5CF8C0, - 0x15C5D6DC8, - 0x15C7489EB, - 0x15C74A959, - 0x15C7518CF, - 0x15C751D11, - 0x15C75295A, - 0x15C7562A5, - 0x15C759A01, - 0x15C77B9BC, - 0x15C77E47E, - 0x15C78068F, - 0x15C799629, - 0x15C7A7B57, - 0x15C7CDEE5, - 0x15C7CF506, - 0x15C7D0CBF, - 0x15C7D2E31, - 0x15C80F283, - 0x15C810413, - 0x15C93A407, - 0x15C93AFB8, - 0x15C93FD0F, - 0x15C93FE68, - 0x15C94B5AA, - 0x15C956341, - 0x15C957419, - 0x15C95B0EE, - 0x15C95D2C8, - 0x15C95DB0F, - 0x15C96DAFB, - 0x15C96EDF6, - 0x15C97DE75, - 0x15C983D79, - 0x15C99F3B7, - 0x15CA2B7C9, - 0x15CA33ABB, - 0x15CA361C2, - 0x15CA39934, - 0x15CA3BE99, - 0x15CA3C439, - 0x15CA3F23B, - 0x15CA4124F, - 0x15CA44ECC, - 0x15CA4D38B, - 0x15CA4EE87, - 0x15CA53881, - 0x15CA54F82, - 0x15CA75E40, - 0x15CA7797E, - 0x15CA7869A, - 0x15CA82545, - 0x15CA9B8D1, - 0x15CAAB678, - 0x15CAAD91C, - 0x15CAAF598, - 0x15CAAFCC2, - 0x15CABC263, - 0x15CABE256, - 0x15CACCD7E, - 0x15CAD05A6, - 0x15CAEFEC6, - 0x15CAF1D53, - 0x15CAF98A7, - 0x15CAFE6A4, - 0x15CAFF587, - 0x15CB00A5C, - 0x15CB1198A, - 0x15CB1363F, - 0x15CB1A1B9, - 0x15CB1B6A7, - 0x15CB21104, - 0x15CB2651F, - 0x15CB3B495, - 0x15CB42D54, - 0x15CB68A80, - 0x15CB6ABFF, - 0x15CB8160A, - 0x15CB825E8, - 0x15CBFE3D7, - 0x15CC05A71, - 0x15CC06EED, - 0x15CC0B912, - 0x15CC2BD98, - 0x15CC4E38C, - 0x15CC4E822, - 0x15CC504DF, - 0x15CC52FBA, - 0x15CC54277, - 0x15CC5630D, - 0x15CC6D011, - 0x15CCE0CFF, - 0x15CCE38BA, - 0x15CCE97E2, - 0x15CCEF4C3, - 0x15CD08768, - 0x15CD08E0F, - 0x15CD10D50, - 0x15CDFE8FB, - 0x15CE00A34, - 0x15CE0200D, - 0x15CE10449, - 0x15CE12A3C, - 0x15CE1357C, - 0x15CE15F3C, - 0x15CE17AE5, - 0x15CE1AFD1, - 0x15CE23B44, - 0x15CE37871, - 0x15CE5174C, - 0x15CE5391D, - 0x15CEC82B8, - 0x15CED055D, - 0x15D018EC7, - 0x15D025497, - 0x15D02945A, - 0x15D02B3FC, - 0x15D02B652, - 0x15D031725, - 0x15D0364D7, - 0x15D03CD08, - 0x15D03EE81, - 0x15D041334, - 0x15D062313, - 0x15D067DB6, - 0x15D0E33DC, - 0x15D0E3D08, - 0x15D0F1772, - 0x15D0F2FF4, - 0x15D0FA34A, - 0x15D11B335, - 0x15D11DF35, - 0x15D1215A9, - 0x15D1273E3, - 0x15D12AA85, - 0x15D131D58, - 0x15D1375A0, - 0x15D1655F9, - 0x15D1662AD, - 0x15D169FB3, - 0x15D16C66D, - 0x15D185FBF, - 0x15D18DEB9, - 0x15D195A20, - 0x15D19CCB0, - 0x15D19D61C, - 0x15D1BF451, - 0x15D1C74A0, - 0x15D1CCC97, - 0x15D1D58B1, - 0x15D1E3C99, - 0x15D311705, - 0x15D3141D1, - 0x15D3177AE, - 0x15D317B20, - 0x15D317E2A, - 0x15D31BD92, - 0x15D31C2FB, - 0x15D3288ED, - 0x15D33B188, - 0x15D33D6E8, - 0x15D3486C8, - 0x15D352AB8, - 0x15D36EB3F, - 0x15D375523, - 0x15D383AF0, - 0x15D3856F7, - 0x15D388C94, - 0x15D38DBF4, - 0x15D4BD63C, - 0x15D4BDF2F, - 0x15D4EA826, - 0x15D4ECB3D, - 0x15D4FBB8D, - 0x15D4FD038, - 0x15D4FF454, - 0x15D512CE4, - 0x15D515A9F, - 0x15D516EB9, - 0x15D51C895, - 0x15D5388A4, - 0x15D540703, - 0x15D541BA3, - 0x15D545490, - 0x15D54C163, - 0x15D550E3F, - 0x15D552748, - 0x15D552DE7, - 0x15D56AF87, - 0x15D56B9F2, - 0x15D56D9B3, - 0x15D56F41C, - 0x15D57284F, - 0x15D575A91, - 0x15D57692D, - 0x15D5769A2, - 0x15D57E61C, - 0x15D594716, - 0x15D596A2D, - 0x15D59B6AA, - 0x15D5A0B25, - 0x15D5A343C, - 0x15D5A4552, - 0x15D5AA1AD, - 0x15D5ACE62, - 0x15D5AD24D, - 0x15D5B86E6, - 0x15D5C11A0, - 0x15D5CB925, - 0x15D5CC078, - 0x15D5E0FE9, - 0x15D5E3B0D, - 0x15D5EBD35, - 0x15D5EBF32, - 0x15D5EDC52, - 0x15D5F58F7, - 0x15D5FA3C5, - 0x15D5FFA3F, - 0x15D602111, - 0x15D606714, - 0x15D6084CE, - 0x15D7C3470, - 0x15D7C75D3, - 0x15D7E3A25, - 0x15D7E8070, - 0x15D7EA2B3, - 0x15D7EA662, - 0x15D7ED110, - 0x15D7EF538, - 0x15D7F0BB0, - 0x15D7F2633, - 0x15D7F4BF9, - 0x15D7F70E4, - 0x15D7FF419, - 0x15D80820F, - 0x15D809BE4, - 0x15D80C120, - 0x15D813F4D, - 0x15D81619B, - 0x15D93D43A, - 0x15D9AB67A, - 0x15D9C2A37, - 0x15D9C4A30, - 0x15D9DF5FC, - 0x15D9E053D, - 0x15DA02876, - 0x15DA07B78, - 0x15DA09E7C, - 0x15DA0D85D, - 0x15DA10108, - 0x15DA189F2, - 0x15DA22ACC, - 0x15DA26131, - 0x15DABA3B1, - 0x15DABB271, - 0x15DABC40C, - 0x15DAC2BFE, - 0x15DAC9D11, - 0x15DAD4D9D, - 0x15DAD7F36, - 0x15DAF6353, - 0x15DAF8056, - 0x15DAFAC38, - 0x15DAFEDB4, - 0x15DB16F8B, - 0x15DB1A2D3, - 0x15DB34DE8, - 0x15DB37AB9, - 0x15DB3BF53, - 0x15DB3CB6F, - 0x15DB54449, - 0x15DB56292, - 0x15DB5B833, - 0x15DB5EED1, - 0x15DB651F8, - 0x15DB80425, - 0x15DB86AA8, - 0x15DB877F9, - 0x15DB9AD39, - 0x15DB9C645, - 0x15DBA0072, - 0x15DBA6D86, - 0x15DBA8EB4, - 0x15DBAA61C, - 0x15DBACDFF, - 0x15DBAE85B, - 0x15DBB11D1, - 0x15DBD4194, - 0x15DBD4941, - 0x15DBDF835, - 0x15DBE5BF4, - 0x15DBFD37D, - 0x15DC8D7C4, - 0x15DC8F96F, - 0x15DC9352F, - 0x15DC95E20, - 0x15DC9B3B6, - 0x15DCA5788, - 0x15DCAC2E6, - 0x15DCBD6A7, - 0x15DCBF8EC, - 0x15DCC0BA2, - 0x15DCC620A, - 0x15DCCE6E5, - 0x15DCCF44B, - 0x15DCD128A, - 0x15DCD1573, - 0x15DD06422, - 0x15DD071A3, - 0x15DD10C66, - 0x15DD1228E, - 0x15DD12ABA, - 0x15DD15DA7, - 0x15DD1BE9D, - 0x15DDFCA9E, - 0x15DE06808, - 0x15DE35EBB, - 0x15DE36BC5, - 0x15DE5B053, - 0x15DE5C3B4, - 0x15DE67B43, - 0x15DE68628, - 0x15DE6DA7C, - 0x15DE6E122, - 0x15DE7408E, - 0x15DE850BD, - 0x15DE85B7C, - 0x15DE94380, - 0x15DE9F064, - 0x15DF1943A, - 0x15DF1A047, - 0x15DF1CD15, - 0x15DF4B294, - 0x15DF66F22, - 0x15DF6B116, - 0x15DF79F44, - 0x15DF7D113, - 0x15DF7F662, - 0x15DF7FA5D, - 0x15DF8461D, - 0x15DF8C054, - 0x15DF92740, - 0x15DFA842A, - 0x15DFC0E4C, - 0x15DFC5224, - 0x15DFCA7F4, - 0x15E0038DF, - 0x15E02201F, - 0x15E0287E3, - 0x15E02E6B7, - 0x15E02E8B5, - 0x15E0328FA, - 0x15E036DC3, - 0x15E03C78A, - 0x15E040A7D, - 0x15E04182B, - 0x15E0428A7, - 0x15E050867, - 0x15E058ACD, - 0x15E0630AC, - 0x15E2CFAB1, - 0x15E2D1164, - 0x15E2D98AE, - 0x15E300AE3, - 0x15E3324F9, - 0x15E3325B6, - 0x15E3368D7, - 0x15E3396E7, - 0x15E34F607, - 0x15E43A8BD, - 0x15E45733B, - 0x15E464BA6, - 0x15E4669CF, - 0x15E46F96E, - 0x15E475479, - 0x15E475CFA, - 0x15E4787EE, - 0x15E478D71, - 0x15E47B6B5, - 0x15E484BCD, - 0x15E48B66A, - 0x15E48F7D6, - 0x15E492DF1, - 0x15E4C02A3, - 0x15E4D9BAC, - 0x15E4DE53E, - 0x15E4DF145, - 0x15E4DFF44, - 0x15E4E32A0, - 0x15E4EA47C, - 0x15E4EBDF4, - 0x15E506C85, - 0x15E51D1AC, - 0x15E525E8D, - 0x15E546E4F, - 0x15E54A55F, - 0x15E54D2E5, - 0x15E54D47C, - 0x15E5572D6, - 0x15E559C38, - 0x15E55A2C8, - 0x15E561607, - 0x15E5DAA0B, - 0x15E5DF4D5, - 0x15E5E51DD, - 0x15E5E8FC0, - 0x15E5EAD4C, - 0x15E5F26AA, - 0x15E5F4F48, - 0x15E5F57D8, - 0x15E5F8605, - 0x15E5FE8CC, - 0x15E5FFCFD, - 0x15E60130B, - 0x15E61305C, - 0x15E68D8E2, - 0x15E68E5A1, - 0x15E68EAE1, - 0x15E68FCB7, - 0x15E692A44, - 0x15E695607, - 0x15E697A44, - 0x15E69B4AE, - 0x15E6A6F18, - 0x15E6B0B06, - 0x15E6B1E90, - 0x15E6B2051, - 0x15E6B3253, - 0x15E6BC223, - 0x15E6BCB5E, - 0x15E6BEFD0, - 0x15E6CAF10, - 0x15E6D7237, - 0x15E6DE756, - 0x15E6DF446, - 0x15E6E028C, - 0x15E810A03, - 0x15E81995C, - 0x15E81A0B2, - 0x15E81F79E, - 0x15E820318, - 0x15E835208, - 0x15E83A215, - 0x15E840E71, - 0x15E843F57, - 0x15E844514, - 0x15E85A143, - 0x15E86E47A, - 0x15E86FFBC, - 0x15E89FFD8, - 0x15E8A44BD, - 0x15E8A56AD, - 0x15E8A5A37, - 0x15E8A9D59, - 0x15EA022BF, - 0x15EA91795, - 0x15EA92109, - 0x15EA96E16, - 0x15EAAAEEC, - 0x15EAB1DC9, - 0x15EABADFB, - 0x15EABC166, - 0x15EADDD6C, - 0x15EAE3856, - 0x15EAE99E3, - 0x15EAEA3D4, - 0x15EAF2E35, - 0x15EB0CDBA, - 0x15EB25B4F, - 0x15EB4E87B, - 0x15EB61DAB, - 0x15EB621A8, - 0x15EB65D57, - 0x15EB66449, - 0x15EB69B9F, - 0x15EB6BDD4, - 0x15EB71077, - 0x15EB7D86F, - 0x15EB83428, - 0x15EB842B8, - 0x15EB8A8EA, - 0x15EBBE8E6, - 0x15EBC251B, - 0x15EBC9588, - 0x15EBC99B0, - 0x15EBE22D8, - 0x15EBE45AD, - 0x15EBE72A5, - 0x15ED119FF, - 0x15EE9E8C0, - 0x15EE9ECAA, - 0x15EEB5D59, - 0x15EEBD715, - 0x15EEC0497, - 0x15EEC0E07, - 0x15EEDD889, - 0x15EEE5CD5, - 0x15EEE87FB, - 0x15EEEDC36, - 0x15EF64E3F, - 0x15EF667E2, - 0x15EF698E0, - 0x15EF6CE1F, - 0x15EF6D4A5, - 0x15EF75A95, - 0x15EF78700, - 0x15EF79050, - 0x15EF91844, - 0x15EF9452C, - 0x15EF94717, - 0x15EF95BFA, - 0x15EF9EF60, - 0x15EFAFD60, - 0x15EFB3750, - 0x15EFB93E5, - 0x15EFBD76C, - 0x15EFBE379, - 0x15EFBF0BF, - 0x15EFC0F61, - 0x15EFC9A20, - 0x15EFCB19C, - 0x15EFCCB5E, - 0x15F046328, - 0x15F0497FA, - 0x15F068D2E, - 0x15F0783A9, - 0x15F095A16, - 0x15F0B0D03, - 0x15F0BD3B5, - 0x15F0DF9B9, - 0x15F2FBF4E, - 0x15F2FFDF3, - 0x15F30E8FE, - 0x15F310274, - 0x15F313D72, - 0x15F339144, - 0x15F33A63C, - 0x15F33ABF6, - 0x15F3456BB, - 0x15F3493EE, - 0x15F3535CE, - 0x15F35AD1B, - 0x15F3743D1, - 0x15F37D6A0, - 0x15F39D3BA, - 0x15F3B30F5, - 0x15F3B4BBA, - 0x15F3BC17D, - 0x15F3BF1EF, - 0x15F3DA851, - 0x15F3DBA6C, - 0x15F3E26E5, - 0x15F3E7A70, - 0x15F3E96F4, - 0x15F3F2D93, - 0x15F3FDBD4, - 0x15F400130, - 0x15F439DB6, - 0x15F44B9CE, - 0x15F44C2EC, - 0x15F451168, - 0x15F4533DF, - 0x15F459505, - 0x15F459EBD, - 0x15F460ED1, - 0x15F462F68, - 0x15F468C0C, - 0x15F469213, - 0x15F486342, - 0x15F48A42B, - 0x15F5B9D69, - 0x15F5C1BE1, - 0x15F5C215B, - 0x15F5C858A, - 0x15F5C96B0, - 0x15F5E3554, - 0x15F5EF861, - 0x15F5F754B, - 0x15F5F75F8, - 0x15F617183, - 0x15F618E6F, - 0x15F61DD0A, - 0x15F620350, - 0x15F622F56, - 0x15F64018E, - 0x15F659B82, - 0x15F65B708, - 0x15F66A9BA, - 0x15F66C538, - 0x15F6778C6, - 0x15F68E2B5, - 0x15F6A7D3C, - 0x15F6AFB18, - 0x15F6B43B1, - 0x15F6B5388, - 0x15F7E1640, - 0x15F7E52AB, - 0x15F7F1859, - 0x15F7F83B8, - 0x15F8028EB, - 0x15F80B266, - 0x15F8299BA, - 0x15F82C925, - 0x15F82FD90, - 0x15F8312FE, - 0x15F8323F8, - 0x15F8378B1, - 0x15F84286C, - 0x15F8462ED, - 0x15F846994, - 0x15F97025A, - 0x15F9775D8, - 0x15F97D40D, - 0x15F980069, - 0x15F980122, - 0x15F98A553, - 0x15F98BFE3, - 0x15F9953A6, - 0x15F9C2FEF, - 0x15F9C8176, - 0x15F9C8AFA, + 0x1400A3F04, + 0x1412D7E4C, + 0x141D0E9B4, + 0x1421A20B0, + 0x1421A67C7, + 0x1421A7E26, + 0x1421AB4B4, + 0x1421AF5A5, + 0x1421B7E74, + 0x1421B8146, + 0x1421D2BF4, + 0x1421D2C4E, + 0x1421D4DC7, + 0x1421D5948, + 0x1421D9B03, + 0x1421DA1A8, + 0x1421DB5CF, + 0x1421DE9C8, + 0x1421E0EE5, + 0x1421EBABE, + 0x14221217B, + 0x1422D8287, + 0x14230E97F, + 0x14291D7CF, + 0x142A5E092, + 0x142F27CE8, + 0x142F292D7, + 0x142F2D2F4, + 0x15AAF154B, + 0x15AAF7716, + 0x15AB1F6DF, + 0x15AB2DDF4, + 0x15AB4A64E, + 0x15ABE5A9A, + 0x15ABE8CB3, + 0x15ACD4B9E, + 0x15ACE87C6, + 0x15ACF4297, + 0x15ACF4A6D, + 0x15AD0BA92, + 0x15AD0BD1E, + 0x15AD17918, + 0x15AD2C055, + 0x15AD2E768, + 0x15AD4BC10, + 0x15AD554F7, + 0x15AD70BDD, + 0x15AD72C9A, + 0x15AD737C5, + 0x15AD748AF, + 0x15AD7DB41, + 0x15AD7FC32, + 0x15AD87AAC, + 0x15AD8E356, + 0x15AD8F371, + 0x15AD98504, + 0x15ADE225A, + 0x15ADE4331, + 0x15ADE462D, + 0x15AE4E2ED, + 0x15AE504E1, + 0x15AE51A1E, + 0x15AE536DC, + 0x15AF9C497, + 0x15AF9C72F, + 0x15AF9D30D, + 0x15AFB5DBD, + 0x15AFDE052, + 0x15AFE217A, + 0x15AFE294C, + 0x15AFEC88F, + 0x15AFF8D0E, + 0x15AFF98E0, + 0x15AFFAEBB, + 0x15B001C7E, + 0x15B002479, + 0x15B002BB8, + 0x15B003B5A, + 0x15B00AC73, + 0x15B00AF44, + 0x15B083EB1, + 0x15B08A8B0, + 0x15B08C076, + 0x15B08CBF7, + 0x15B0E6B63, + 0x15B0EAEC0, + 0x15B0ECB8B, + 0x15B0ECD78, + 0x15B0F77D0, + 0x15B107909, + 0x15B113D5D, + 0x15B119122, + 0x15B119A2E, + 0x15B122F1C, + 0x15B128923, + 0x15B1353EF, + 0x15B140053, + 0x15B14425F, + 0x15B14463E, + 0x15B144F3F, + 0x15B14964A, + 0x15B14D9DC, + 0x15B14EEC1, + 0x15B153690, + 0x15B154488, + 0x15B176E3C, + 0x15B177E39, + 0x15B17EEC5, + 0x15B2D1B56, + 0x15B2D30D1, + 0x15B2D64FD, + 0x15B2DB8FF, + 0x15B2F4C2E, + 0x15B2F5044, + 0x15B2FF48B, + 0x15B30432C, + 0x15B30B1FE, + 0x15B30B634, + 0x15B310A1F, + 0x15B310B51, + 0x15B312144, + 0x15B31267B, + 0x15B3249C9, + 0x15B32EE9F, + 0x15B3319B7, + 0x15B334FF2, + 0x15B33B195, + 0x15B33C945, + 0x15B343341, + 0x15B34A33E, + 0x15B350618, + 0x15B35AEAE, + 0x15B360BB1, + 0x15B365E17, + 0x15B367B51, + 0x15B36B6A6, + 0x15B36BCD2, + 0x15B36C811, + 0x15B37748E, + 0x15B380696, + 0x15B3849D8, + 0x15B40222F, + 0x15B403ABF, + 0x15B4072E1, + 0x15B41179C, + 0x15B418FC4, + 0x15B41ADE9, + 0x15B41B165, + 0x15B424658, + 0x15B43295E, + 0x15B4335D2, + 0x15B43366A, + 0x15B4374CF, + 0x15B4387EC, + 0x15B4524D5, + 0x15B45CD1A, + 0x15B45E42C, + 0x15B461C1E, + 0x15B462E01, + 0x15B466048, + 0x15B4F4A2D, + 0x15B4F52A1, + 0x15B4FB4DF, + 0x15B50089F, + 0x15B503884, + 0x15B62C46E, + 0x15B64DD86, + 0x15B656527, + 0x15B656926, + 0x15B66D7FD, + 0x15B671C65, + 0x15B67293F, + 0x15B67365D, + 0x15B673F72, + 0x15B67CB22, + 0x15B67D06F, + 0x15B6847FE, + 0x15B700676, + 0x15B701DF1, + 0x15B70353D, + 0x15B70C0A2, + 0x15B8B5C95, + 0x15B8BB80E, + 0x15B8BE653, + 0x15B8C056D, + 0x15B8C4B7C, + 0x15B8C76AC, + 0x15B8C8895, + 0x15B8E3A1F, + 0x15B8E5F21, + 0x15B8EC244, + 0x15B8EE26C, + 0x15B8F0315, + 0x15B8F1243, + 0x15B8FA3CF, + 0x15B900727, + 0x15B90442B, + 0x15B907099, + 0x15B907D8A, + 0x15B91FB7F, + 0x15BB83599, + 0x15BB85CCE, + 0x15BB88A79, + 0x15BB89113, + 0x15BB8A0B3, + 0x15BB97DB1, + 0x15BB97F41, + 0x15BC75703, + 0x15BC7585B, + 0x15BC76386, + 0x15BC774EB, + 0x15BC77A9A, + 0x15BC7DC80, + 0x15BC9A325, + 0x15BCB6EEE, + 0x15BCB70CB, + 0x15BCB7A18, + 0x15BCC6D7D, + 0x15BCDD9DF, + 0x15BCDF797, + 0x15BCDFB78, + 0x15BCE5566, + 0x15BCF313E, + 0x15BCF3BA2, + 0x15BCF8A69, + 0x15BCF9358, + 0x15BD0B2A2, + 0x15BD0BA35, + 0x15BD5A638, + 0x15BD7BB45, + 0x15BD94F28, + 0x15BD97531, + 0x15BDA4F95, + 0x15BDA939A, + 0x15BDAAFF6, + 0x15BDB666A, + 0x15BDB812F, + 0x15BDBA421, + 0x15BDBA950, + 0x15BDBB6E3, + 0x15BDBCCC7, + 0x15BDBEDFA, + 0x15BDCD777, + 0x15BDEFB8D, + 0x15BDF48BD, + 0x15BDF4DD8, + 0x15BDF765E, + 0x15BE8E51B, + 0x15BE9794E, + 0x15BE97B95, + 0x15BE97C28, + 0x15BE9A5F4, + 0x15BEA2A80, + 0x15BFD36A8, + 0x15BFFA032, + 0x15C008B76, + 0x15C00AB2C, + 0x15C0166F8, + 0x15C057A96, + 0x15C059C2D, + 0x15C05B008, + 0x15C06B2A6, + 0x15C06F6F7, + 0x15C088F58, + 0x15C08F206, + 0x15C0B26C9, + 0x15C0B7C2B, + 0x15C0BEC5E, + 0x15C0DAB53, + 0x15C0FE9D8, + 0x15C101E86, + 0x15C109A0C, + 0x15C120707, + 0x15C25CED7, + 0x15C25E10A, + 0x15C27DC52, + 0x15C27E9CF, + 0x15C281126, + 0x15C2825DA, + 0x15C284731, + 0x15C284E7A, + 0x15C288B97, + 0x15C29699A, + 0x15C2971D3, + 0x15C2AD8D5, + 0x15C2B3203, + 0x15C2D38F5, + 0x15C2D425A, + 0x15C2D9ED8, + 0x15C2E0941, + 0x15C2E12D1, + 0x15C2E6539, + 0x15C2F3784, + 0x15C2F42E6, + 0x15C308DE5, + 0x15C309259, + 0x15C30A77C, + 0x15C4473BF, + 0x15C45E8BD, + 0x15C45EC55, + 0x15C460BF8, + 0x15C46722F, + 0x15C46D3D0, + 0x15C47CC8B, + 0x15C47DFED, + 0x15C4A0C71, + 0x15C4A18BA, + 0x15C4BC0DA, + 0x15C4CBA20, + 0x15C4CE203, + 0x15C4D2258, + 0x15C4D9278, + 0x15C4DB945, + 0x15C4E144D, + 0x15C4E48D2, + 0x15C4E7647, + 0x15C4E796B, + 0x15C4E9333, + 0x15C4EBE58, + 0x15C4F48FE, + 0x15C56C78F, + 0x15C56D259, + 0x15C585406, + 0x15C5A7670, + 0x15C5A8806, + 0x15C5AA4C1, + 0x15C5ADAE7, + 0x15C5D876A, + 0x15C5DB869, + 0x15C5E2745, + 0x15C5ED45D, + 0x15C5F2890, + 0x15C6106B7, + 0x15C611410, + 0x15C615A04, + 0x15C6174E9, + 0x15C61EA1E, + 0x15C622514, + 0x15C624422, + 0x15C6245AA, + 0x15C62697B, + 0x15C62C40C, + 0x15C632461, + 0x15C6337E1, + 0x15C638E1B, + 0x15C63EF97, + 0x15C63F33C, + 0x15C63FB20, + 0x15C65ECA0, + 0x15C673B65, + 0x15C6C6518, + 0x15C6CA469, + 0x15C6CCA79, + 0x15C6CD058, + 0x15C6D0860, + 0x15C6F148B, + 0x15C6F3924, + 0x15C6FBFAD, + 0x15C74AE6E, + 0x15C752D4D, + 0x15C7977A4, + 0x15C7A137E, + 0x15C7A3041, + 0x15C7A516A, + 0x15C7A665A, + 0x15C7A7DA6, + 0x15C7A8621, + 0x15C7AE184, + 0x15C7B1875, + 0x15C7B9C9A, + 0x15C7C757A, + 0x15C7C8124, + 0x15C7E07EA, + 0x15C7E253E, + 0x15C7E82DD, + 0x15C7EA384, + 0x15C7EE762, + 0x15C7FA4F9, + 0x15C7FB3A0, + 0x15C7FDA26, + 0x15C814E9F, + 0x15C8152C8, + 0x15C81BA78, + 0x15C8219E4, + 0x15C824FEF, + 0x15C82516E, + 0x15C94E3E7, + 0x15C96B235, + 0x15C974D10, + 0x15C97793F, + 0x15C97B4DC, + 0x15CAB9672, + 0x15CABB5E1, + 0x15CABEA5F, + 0x15CABED47, + 0x15CAC6DF8, + 0x15CACB3B2, + 0x15CACB8FC, + 0x15CBF2ED6, + 0x15CBFC6C5, + 0x15CC724D1, + 0x15CD9D9BA, + 0x15CDA9478, + 0x15CDB27FC, + 0x15CDB444E, + 0x15CDB7D89, + 0x15CDB8120, + 0x15CDD7EAA, + 0x15CDDD999, + 0x15CDE98E8, + 0x15CDE9F2C, + 0x15CDEC316, + 0x15CDF243D, + 0x15CDF5A39, + 0x15CDF8594, + 0x15CDFD985, + 0x15CE01428, + 0x15CE21137, + 0x15CE2188F, + 0x15CF34470, + 0x15CF4C7C0, + 0x15D075243, + 0x15D07BBB5, + 0x15D0973F3, + 0x15D09BFA9, + 0x15D116233, + 0x15D15CECF, + 0x15D160F4F, + 0x15D1628D7, + 0x15D1679FC, + 0x15D16AB44, + 0x15D16B018, + 0x15D16B300, + 0x15D173AEA, + 0x15D17563B, + 0x15D175F8E, + 0x15D1796BB, + 0x15D182006, + 0x15D185C08, + 0x15D188874, + 0x15D1938CE, + 0x15D1966D0, + 0x15D198841, + 0x15D19D0CC, + 0x15D1AAF2A, + 0x15D1ACF2B, + 0x15D1AD499, + 0x15D1ADBBD, + 0x15D1B4BCF, + 0x15D1BB249, + 0x15D1BCCFD, + 0x15D1C6B9C, + 0x15D1DC085, + 0x15D1E1A72, + 0x15D1FA8BB, + 0x15D200793, + 0x15D202530, + 0x15D20578D, + 0x15D20EC0F, + 0x15D210AB8, + 0x15D212B91, + 0x15D21668D, + 0x15D238BD5, + 0x15D239729, + 0x15D23BB93, + 0x15D23E09A, + 0x15D240133, + 0x15D24EB01, + 0x15D25AB2E, + 0x15D25D965, + 0x15D2780E0, + 0x15D27915D, + 0x15D27C0B3, + 0x15D280F64, + 0x15D289196, + 0x15D28D887, + 0x15D28DC14, + 0x15D3B69A0, + 0x15D3D7A59, + 0x15D3D8478, + 0x15D3DA755, + 0x15D3E4DF0, + 0x15D41C2C4, + 0x15D423283, + 0x15D42445A, + 0x15D43209B, + 0x15D4395E3, + 0x15D43D473, + 0x15D43F580, + 0x15D43FB62, + 0x15D446E12, + 0x15D44CF1C, + 0x15D45205E, + 0x15D455AA5, + 0x15D458D80, + 0x15D46C871, + 0x15D4866D5, + 0x15D487EF0, + 0x15D5001C7, + 0x15D503811, + 0x15D505D12, + 0x15D50B34A, + 0x15D589417, + 0x15D592F5B, + 0x15D5933A9, + 0x15D596090, + 0x15D5C14A6, + 0x15D5C42E8, + 0x15D5D02F2, + 0x15D5D05E5, + 0x15D5E7303, + 0x15D5F3986, + 0x15D5F70A5, + 0x15D601B06, + 0x15D60243E, + 0x15D60635F, + 0x15D60D20F, + 0x15D60DE09, + 0x15D60F1FB, + 0x15D60F61A, + 0x15D614B48, + 0x15D630579, + 0x15D6356A0, + 0x15D6AC6E2, + 0x15D6AC872, + 0x15D6B01AD, + 0x15D6B020C, + 0x15D6B1620, + 0x15D6B9854, + 0x15D6BCAD9, + 0x15D6D513F, + 0x15D6D73C3, + 0x15D6DCBD8, + 0x15D6E49D7, + 0x15D70B32C, + 0x15D70C897, + 0x15D70F016, + 0x15D712486, + 0x15D715711, + 0x15D72B9A5, + 0x15D73644F, + 0x15D73D855, + 0x15D74604C, + 0x15D749073, + 0x15D74B209, + 0x15D74BF4C, + 0x15D74FF30, + 0x15D75050E, + 0x15D75567A, + 0x15D7596FC, + 0x15D773D0F, + 0x15D77D01B, + 0x15D780295, + 0x15D785DF6, + 0x15D7884C8, + 0x15D8B10E0, + 0x15D8B18B8, + 0x15D8CB2CE, + 0x15D8D4FE7, + 0x15D8FCE7C, + 0x15D8FF824, + 0x15D8FFC65, + 0x15D9040F0, + 0x15D904B4D, + 0x15D9206F7, + 0x15D92453C, + 0x15D924643, + 0x15D92EE0F, + 0x15D936201, + 0x15D93EF3D, + 0x15D93FCF8, + 0x15D94143B, + 0x15D948F56, + 0x15D950ABE, + 0x15D96E5A4, + 0x15D97C253, + 0x15D97C2EB, + 0x15D98A3AB, + 0x15D98BC5E, + 0x15DA02DA1, + 0x15DA06636, + 0x15DA075FC, + 0x15DA0C280, + 0x15DA449E0, + 0x15DA46212, + 0x15DA4AA54, + 0x15DA7A1B3, + 0x15DA7DD2F, + 0x15DA9C44B, + 0x15DA9F390, + 0x15DAA2A9D, + 0x15DAAF149, + 0x15DAC1CD8, + 0x15DAC5D2A, + 0x15DAF078A, + 0x15DAF1F7D, + 0x15DAF82F0, + 0x15DB012D2, + 0x15DB0363E, + 0x15DB09770, + 0x15DB25548, + 0x15DB28AF4, + 0x15DB2D4E1, + 0x15DB305E9, + 0x15DB31C71, + 0x15DB371AE, + 0x15DB4597C, + 0x15DB594D6, + 0x15DB59E52, + 0x15DC99890, + 0x15DC999A0, + 0x15DC9B436, + 0x15DC9F72F, + 0x15DCA042C, + 0x15DCA78CA, + 0x15DCAAE84, + 0x15DCB338A, + 0x15DCC565D, + 0x15DCC6F95, + 0x15DCC901C, + 0x15DCC9251, + 0x15DCCC8C3, + 0x15DCE9C28, + 0x15DCEB5F8, + 0x15DCEC067, + 0x15DCED1E4, + 0x15DCF5CF4, + 0x15DCF967E, + 0x15DD10B96, + 0x15DD9A262, + 0x15DDAC2C0, + 0x15DDB1D57, + 0x15DDB3642, + 0x15DDB62A9, + 0x15DDBB812, + 0x15DDC6DD1, + 0x15DDC705D, + 0x15DDC978B, + 0x15DDCADFD, + 0x15DE817E7, + 0x15DE8817F, + 0x15DE8A129, + 0x15DE8C099, + 0x15DEA09C5, + 0x15DEA3793, + 0x15DEA746A, + 0x15DEA88FF, + 0x15DEA98A3, + 0x15DEAA659, + 0x15DEB10DC, + 0x15DEB116E, + 0x15DEB413B, + 0x15DEB4BD1, + 0x15DEBC9FC, + 0x15DED91AC, + 0x15DEDC05F, + 0x15DEDCA85, + 0x15DEDDAAA, + 0x15DEE0553, + 0x15DF1CB46, + 0x15DF3411C, + 0x15DF40DF1, + 0x15DF4A16D, + 0x15DF4A978, + 0x15DF4ACB2, + 0x15DF4DB1A, + 0x15DF56B77, + 0x15DF578DE, + 0x15DF5B0E7, + 0x15DF5BD30, + 0x15DF9B9A2, + 0x15DFFC96C, + 0x15E000CF5, + 0x15E002BE8, + 0x15E011359, + 0x15E01444A, + 0x15E0156AB, + 0x15E017CAF, + 0x15E01CB66, + 0x15E01E38B, + 0x15E025D2A, + 0x15E02CA14, + 0x15E039D75, + 0x15E056EDF, + 0x15E05E02D, + 0x15E0661E4, + 0x15E07B66A, + 0x15E07E0EE, + 0x15E0802FC, + 0x15E09F968, + 0x15E0A45FD, + 0x15E0A678D, + 0x15E0A7647, + 0x15E0B6E33, + 0x15E133552, + 0x15E1349E3, + 0x15E154A85, + 0x15E1551A7, + 0x15E1598D7, + 0x15E159F9C, + 0x15E15CC6E, + 0x15E15E6EF, + 0x15E163E09, + 0x15E164143, + 0x15E16557A, + 0x15E166ADE, + 0x15E16C78E, + 0x15E16D262, + 0x15E1845CC, + 0x15E18594F, + 0x15E188861, + 0x15E193819, + 0x15E19559F, + 0x15E1ADE1F, + 0x15E1C7B9B, + 0x15E1CC349, + 0x15E1CCD77, + 0x15E1CEAAC, + 0x15E1D3C82, + 0x15E253209, + 0x15E26C146, + 0x15E26C484, + 0x15E26DE4F, + 0x15E28E366, + 0x15E29795A, + 0x15E2B4121, + 0x15E2B7967, + 0x15E2C55D8, + 0x15E2D5144, + 0x15E421E62, + 0x15E433178, + 0x15E438CD4, + 0x15E440677, + 0x15E44C001, + 0x15E4676AA, + 0x15E5D3D76, + 0x15E5D812F, + 0x15E5E08FD, + 0x15E5E49D9, + 0x15E5FC02E, + 0x15E605F1A, + 0x15E612BC3, + 0x15E614091, + 0x15E61CA2D, + 0x15E61F63E, + 0x15E621CC0, + 0x15E674B0F, + 0x15E675BAA, + 0x15E6778B9, + 0x15E679937, + 0x15E67F92C, + 0x15E68BB3A, + 0x15E68C7BA, + 0x15E68C989, + 0x15E690336, + 0x15E69D95B, + 0x15E69DF7C, + 0x15E6A1132, + 0x15E6A1E12, + 0x15E6AD288, + 0x15E6B8057, + 0x15E6BC882, + 0x15E6C724E, + 0x15E6CA5A3, + 0x15E6CB079, + 0x15E6CB27C, + 0x15E6D3961, + 0x15E6D499C, + 0x15E6D759D, + 0x15E6F294B, + 0x15E6F3696, + 0x15E6F52EE, + 0x15E6F7C20, + 0x15E6FBB72, + 0x15E71891A, + 0x15E71F9F1, + 0x15E71FF27, + 0x15E73875D, + 0x15E7576F5, + 0x15E757802, + 0x15E75CE4E, + 0x15E75E83B, + 0x15E76846E, + 0x15E78103E, + 0x15E784811, + 0x15E943BA9, + 0x15E94ACF9, + 0x15E94DC1E, + 0x15E972F48, + 0x15E975BFC, + 0x15E9950AE, + 0x15E995845, + 0x15E9BF9A6, + 0x15E9E2599, + 0x15E9E263B, + 0x15E9E5AFD, + 0x15E9EBF31, + 0x15E9EDCD6, + 0x15EA07414, + 0x15EA3DD26, + 0x15EA3E82E, + 0x15EA43799, + 0x15EA51DC5, + 0x15EA6EBE5, + 0x15EA741FE, + 0x15EC0D97D, + 0x15EC0DB19, + 0x15EC10EC5, + 0x15EC2F5A9, + 0x15EC4F1F3, + 0x15EC4F707, + 0x15EC51E76, + 0x15EC53144, + 0x15EC6CBF2, + 0x15EC7840D, + 0x15EC79A25, + 0x15EC7D45F, + 0x15EC8B513, + 0x15EC94B10, + 0x15ECB7DC7, + 0x15ECBAE7C, + 0x15ECC342B, + 0x15ECC34DB, + 0x15ECC8A82, + 0x15ECC8EBB, + 0x15ECE7D4F, + 0x15ECFA8DC, + 0x15ECFB8B8, + 0x15ED2678E, + 0x15ED526A0, + 0x15ED55187, + 0x15ED556A1, + 0x15ED587F8, + 0x15ED5B45B, + 0x15ED5BB01, + 0x15ED5FACB, + 0x15ED65457, + 0x15ED82D95, + 0x15ED8A169, + 0x15ED98852, + 0x15EDB984C, + 0x15EDC06FC, + 0x15EDC083A, + 0x15EDC117A, + 0x15EDC2EAF, + 0x15EDCAE5D, + 0x15EDE5EE7, + 0x15EDEE103, + 0x15EDEE7D6, + 0x15EDF485B, + 0x15EDFA13E, + 0x15EDFD380, + 0x15EE102C0, + 0x15EE112EF, + 0x15EE12EF2, + 0x15EE1783A, + 0x15EE1EF73, + 0x15EE47FAC, + 0x15EE482FB, + 0x15EE672C1, + 0x15EE692ED, + 0x15EE6C45B, + 0x15EE6DE7D, + 0x15EE72674, + 0x15EE72AEA, + 0x15EE76B8B, + 0x15EE78A8D, + 0x15EE99641, + 0x15EE99C1E, + 0x15EE9CFC9, + 0x15EE9F617, + 0x15EEA0831, + 0x15EEA375E, + 0x15EEA3988, + 0x15EF29B65, + 0x15EF29CA1, + 0x15EF2D168, + 0x15EF32B8A, + 0x15EF392F1, + 0x15EF3A8AB, + 0x15EF3D96B, + 0x15EF41589, + 0x15F0694AE, + 0x15F075309, + 0x15F09AD31, + 0x15F09DB15, + 0x15F0A6A26, + 0x15F0AB790, + 0x15F0CB940, + 0x15F0D35FE, + 0x15F1FC512, + 0x15F2050AF, + 0x15F27CBE0, + 0x15F282E92, + 0x15F3014CC, + 0x15F30D716, + 0x15F316BFE, + 0x15F43FEF5, + 0x15F44412D, + 0x15F44F355, + 0x15F45364C, + 0x15F45977B, + 0x15F4AA056, + 0x15F4BBED9, + 0x15F4BDB11, + 0x15F4C01F7, + 0x15F4C1824, + 0x15F4C3193, + 0x15F4C35F9, + 0x15F4C37FC, + 0x15F50F8D2, + 0x15F5128FF, + 0x15F513EC0, + 0x15F52104C, + 0x15F522F3E, + 0x15F53AF50, + 0x15F53B716, + 0x15F62CC4F, + 0x15F62F517, + 0x15F634E65, + 0x15F635E61, + 0x15F6BA2EB, + 0x15F6C3A2F, + 0x15F73ADED, + 0x15F73BBD7, + 0x15F73F55E, + 0x15F740BEB, + 0x15F75E03B, + 0x15F77DD7F, + 0x15F77FE58, + 0x15F78020E, + 0x15F79C053, + 0x15F79C6AC, + 0x15F7A10DC, + 0x15F7A4A25, + 0x15F7A6E04, + 0x15F7A8A87, + 0x15F7A900E, + 0x15F7B0D05, + 0x15F7B56AB, + 0x15F7BCC19, + 0x15F801830, + 0x15F81AC7E, + 0x15F946A3C, + 0x15F94EBF2, + 0x15F960440, + 0x15F967F67, + 0x15F96AAA9, + 0x15F972B68, + 0x15F9770B8, + 0x15F979B5E, + 0x15F9A4A33, + 0x15F9B2405, + 0x15F9B5B37, + 0x15F9BB835, + 0x15F9BDDC5, + 0x15F9BFA52, + 0x15F9C310A, + 0x15F9C4AAC, + 0x15F9CA2F1, + 0x15F9CD41B, + 0x15F9CE8BF, + 0x15F9CFFC8, + 0x15F9D03F4, + 0x15F9D09E3, + 0x15F9D7C72, + 0x15F9D8AE1, }; constexpr uint64_t split_integrity_check_blocks[] = { - 0x14144B338, - 0x14181B448, - 0x141C50408, - 0x1421859A9, - 0x1421C588E, - 0x1421C91C2, - 0x1421E15FE, - 0x1421E6065, - 0x1421F76FA, - 0x1421F956D, - 0x142245950, - 0x1422A44F8, - 0x1429A3878, - 0x142B1F878, - 0x142F20184, - 0x142F2F080, - 0x142F7BC02, - 0x15B12DCC5, - 0x15B158327, - 0x15B15AECD, - 0x15B19B63A, - 0x15B305B8E, - 0x15B479355, - 0x15B4956DB, - 0x15B4A4757, - 0x15B7C3D6A, - 0x15B860445, - 0x15B86DFBD, - 0x15B8887DA, - 0x15B9096F2, - 0x15BCA0056, - 0x15BCAE6F1, - 0x15BDEF4CC, - 0x15BE00FFB, - 0x15BE25DDA, - 0x15BE29F00, - 0x15BE2D6B6, - 0x15BE3EC5D, - 0x15BE64E4E, - 0x15BE64FCA, - 0x15BED5763, - 0x15BEF0717, - 0x15BEF1433, - 0x15BEF1496, - 0x15BEF1A69, - 0x15BF1B227, - 0x15BF423FA, - 0x15BFAB714, - 0x15BFB661F, - 0x15C003A64, - 0x15C029507, - 0x15C0607B4, - 0x15C10D1AB, - 0x15C148471, - 0x15C15C30E, - 0x15C160751, - 0x15C164C31, - 0x15C2A0326, - 0x15C2A2C91, - 0x15C2C9660, - 0x15C2CCC7C, - 0x15C2CD004, - 0x15C2CEA54, - 0x15C32D3AC, - 0x15C3425EA, - 0x15C4943AB, - 0x15C4D1379, - 0x15C4F793C, - 0x15C74E823, - 0x15C77A46B, - 0x15C79640A, - 0x15C7C6927, - 0x15C7D2474, - 0x15C955138, - 0x15C96F2EC, - 0x15CA116B5, - 0x15CA3B2DD, - 0x15CA3CE11, - 0x15CA4BD6A, - 0x15CA5F05C, - 0x15CA76AB1, - 0x15CAD88C5, - 0x15CAD9889, - 0x15CB02949, - 0x15CB1A8E3, - 0x15CB1B4E4, - 0x15CB2335A, - 0x15CB3E83F, - 0x15CB7B4CF, - 0x15CC2B7BC, - 0x15CC5433A, - 0x15CE38700, - 0x15CE3AC8C, - 0x15CECCBBC, - 0x15CECFDE7, - 0x15D031317, - 0x15D034E85, - 0x15D0683D5, - 0x15D0E0405, - 0x15D0F0894, - 0x15D0F13F1, - 0x15D16E41C, - 0x15D18A827, - 0x15D1992E4, - 0x15D1994D1, - 0x15D19BDE2, - 0x15D19FC9F, - 0x15D1A0266, - 0x15D1C732B, - 0x15D30AA16, - 0x15D33104A, - 0x15D346B94, - 0x15D36EBE8, - 0x15D378F71, - 0x15D385C1E, - 0x15D4C41F0, - 0x15D4E2011, - 0x15D4EC974, - 0x15D4F4671, - 0x15D502E1F, - 0x15D51C95B, - 0x15D5513F1, - 0x15D57067E, - 0x15D595709, - 0x15D59B9F8, - 0x15D59C1EF, - 0x15D59F537, - 0x15D5A103A, - 0x15D5A93C8, - 0x15D5A9C49, - 0x15D5BCD16, - 0x15D5BE74B, - 0x15D5E7B52, - 0x15D5FE983, - 0x15D606399, - 0x15D816F7B, - 0x15DA0444E, - 0x15DA1364C, - 0x15DA168A2, - 0x15DA218A8, - 0x15DA26015, - 0x15DAF9DFD, - 0x15DAFDF28, - 0x15DAFEF28, - 0x15DB002F6, - 0x15DBCF97F, - 0x15DBD4453, - 0x15DBD8A82, - 0x15DCB56E7, - 0x15DCB99BA, - 0x15DCBE63D, - 0x15DCC7AEA, - 0x15DD1BFA8, - 0x15DDFE084, - 0x15DE0AF5E, - 0x15DE15703, - 0x15DE3091B, - 0x15DE8AC74, - 0x15DF765DF, - 0x15DF7AED0, - 0x15DF881B7, - 0x15DF88779, - 0x15DFACD0D, - 0x15DFC0459, - 0x15DFC7F33, - 0x15E033981, - 0x15E0473B9, - 0x15E2D2B81, - 0x15E2D4326, - 0x15E2D9087, - 0x15E2E2165, - 0x15E3014C3, - 0x15E344476, - 0x15E452E67, - 0x15E4788C7, - 0x15E481057, - 0x15E489FCE, - 0x15E4935F1, - 0x15E4B3DE3, - 0x15E51BF05, - 0x15E52AAE2, - 0x15E5560E5, - 0x15E557B12, - 0x15E5EA09E, - 0x15E689E5D, - 0x15E692FAD, - 0x15E69371E, - 0x15E69BD03, - 0x15E6B321F, - 0x15E6C99C7, - 0x15E6DEAB5, - 0x15E6E6F19, - 0x15E85936B, - 0x15E893D12, - 0x15E9FBF90, - 0x15EAC187F, - 0x15EAC3013, - 0x15EAF4F26, - 0x15EB5BF5C, - 0x15EB6C2C8, - 0x15EB7A08C, - 0x15EB89AA4, - 0x15EBA067B, - 0x15EBBBEFC, - 0x15EBCBD5E, - 0x15ED0FE2E, - 0x15EEE0314, - 0x15EEE3C54, - 0x15EEE7535, - 0x15EEE9746, - 0x15EF6AE94, - 0x15EF95DEA, - 0x15EF99842, - 0x15EFA2759, - 0x15EFA8508, - 0x15EFB82E1, - 0x15F096B9E, - 0x15F0BC8AB, - 0x15F0C10B6, - 0x15F3629BD, - 0x15F3724F8, - 0x15F3B81C1, - 0x15F3F52CC, - 0x15F3F9C5B, - 0x15F43D5C8, - 0x15F44C4C9, - 0x15F452090, - 0x15F462AD3, - 0x15F5B470A, - 0x15F5DB572, - 0x15F5F1995, - 0x15F617572, - 0x15F6291F0, - 0x15F6594BF, - 0x15F7E1E5A, - 0x15F7F640D, - 0x15F7F96FE, - 0x15F80268B, - 0x15F808D87, - 0x15F8471B2, - 0x15F999F75, - 0x15F9A1870, - 0x15F9A4374, - 0x15F9A4A80, - 0x15F9A4FE0, + 0x140133F48, + 0x1412CDAE8, + 0x142189FC6, + 0x14219DBE6, + 0x14219F758, + 0x1421A6B2D, + 0x1421B73F0, + 0x1421CF709, + 0x1421D890B, + 0x1421DF2F0, + 0x1421FA1AC, + 0x1422D7E87, + 0x1422DD21B, + 0x1422FE0B9, + 0x142307E25, + 0x1428795E8, + 0x1428C43B8, + 0x142927116, + 0x15AD88074, + 0x15AF953A5, + 0x15AFE6F4C, + 0x15AFEE5C9, + 0x15AFFAA22, + 0x15B027ACA, + 0x15B0290F2, + 0x15B02A898, + 0x15B0860B4, + 0x15B08B6C4, + 0x15B14E91D, + 0x15B172BF9, + 0x15B183C1F, + 0x15B188EDD, + 0x15B2BDFA1, + 0x15B2DB026, + 0x15B3004D3, + 0x15B3416EC, + 0x15B3561E5, + 0x15B3622DE, + 0x15B38A1E3, + 0x15B4341E9, + 0x15B459208, + 0x15B463F6B, + 0x15B4FA0D9, + 0x15B4FCB95, + 0x15B655FDE, + 0x15B700B14, + 0x15B8ED45D, + 0x15B9224AC, + 0x15B922530, + 0x15BCBD36A, + 0x15BCF316C, + 0x15BD0832B, + 0x15BD60FEE, + 0x15BD68000, + 0x15BD6F94D, + 0x15BDB21EC, + 0x15C002A24, + 0x15C054AEE, + 0x15C055107, + 0x15C071A00, + 0x15C27B2EC, + 0x15C290833, + 0x15C2AE7CB, + 0x15C2DEA24, + 0x15C49A744, + 0x15C4D3C17, + 0x15C4DBF0A, + 0x15C4E0FF2, + 0x15C4EFC8D, + 0x15C56DBC3, + 0x15C585B34, + 0x15C5C2E49, + 0x15C62277B, + 0x15C624B78, + 0x15C628F15, + 0x15C643A32, + 0x15C6A8597, + 0x15C6D6964, + 0x15C745457, + 0x15C793B91, + 0x15C7A4918, + 0x15C7E6514, + 0x15C7E876A, + 0x15C7FDE7B, + 0x15C8258B2, + 0x15C82806E, + 0x15CAC3759, + 0x15CBF7F31, + 0x15CD9D2BD, + 0x15CDD0394, + 0x15CDD5975, + 0x15CDDA723, + 0x15CDE5614, + 0x15CDEC09C, + 0x15CDF0BF3, + 0x15D166C21, + 0x15D173654, + 0x15D1785FB, + 0x15D17A6A4, + 0x15D17B389, + 0x15D195D3C, + 0x15D1B02D3, + 0x15D1B8928, + 0x15D1BA6DA, + 0x15D1DCA6C, + 0x15D1E419F, + 0x15D1FDB22, + 0x15D2159B6, + 0x15D244441, + 0x15D24EE17, + 0x15D3C10D5, + 0x15D3E5677, + 0x15D3ED80C, + 0x15D41C7AF, + 0x15D469D59, + 0x15D507695, + 0x15D50939A, + 0x15D58845F, + 0x15D5C257A, + 0x15D5D517D, + 0x15D5DA545, + 0x15D5DAD0B, + 0x15D5E51A8, + 0x15D5E5D37, + 0x15D63612B, + 0x15D6C568D, + 0x15D712E14, + 0x15D73843C, + 0x15D738F0E, + 0x15D7743E6, + 0x15D8B1E95, + 0x15D92EC42, + 0x15D946C5F, + 0x15D9565AB, + 0x15D969444, + 0x15D9698B7, + 0x15D96ED07, + 0x15D98A21A, + 0x15DA0A3D5, + 0x15DA4470F, + 0x15DA9D7DD, + 0x15DABBDE7, + 0x15DADFE99, + 0x15DAFC520, + 0x15DAFD58B, + 0x15DB300C3, + 0x15DB30697, + 0x15DB5290F, + 0x15DB5C159, + 0x15DB60363, + 0x15DCAE23F, + 0x15DCD0999, + 0x15DCE77A1, + 0x15DCED147, + 0x15DCF617B, + 0x15DD9B3CC, + 0x15DE69827, + 0x15DE9B583, + 0x15DF01825, + 0x15DF4A317, + 0x15DF4DC7D, + 0x15DF5C1AC, + 0x15DF5F83E, + 0x15DFA0522, + 0x15DFC62D0, + 0x15DFFB339, + 0x15E007818, + 0x15E00A41E, + 0x15E0215A6, + 0x15E0225D6, + 0x15E0332C3, + 0x15E034ABD, + 0x15E066BD3, + 0x15E0A0806, + 0x15E0A2557, + 0x15E0B3F47, + 0x15E0BCB65, + 0x15E154B94, + 0x15E15A770, + 0x15E1C4C82, + 0x15E1C8112, + 0x15E2BF191, + 0x15E4244AF, + 0x15E436287, + 0x15E44A85C, + 0x15E44B4B7, + 0x15E605ABA, + 0x15E62363F, + 0x15E6712D9, + 0x15E67B4E9, + 0x15E6960D1, + 0x15E6C7282, + 0x15E6CAE35, + 0x15E6FCF8C, + 0x15E775306, + 0x15E93DF34, + 0x15E94415B, + 0x15E94B826, + 0x15E9BBEA8, + 0x15E9C769D, + 0x15E9E43E2, + 0x15EA3F336, + 0x15EA539E7, + 0x15EA6F6AE, + 0x15EC0B86D, + 0x15EC13A5C, + 0x15EC77800, + 0x15EC7BB01, + 0x15EC7EF0A, + 0x15EC9BA98, + 0x15ECCD708, + 0x15ED02FAC, + 0x15ED05382, + 0x15ED2251C, + 0x15ED26470, + 0x15ED3B059, + 0x15ED3F9B0, + 0x15ED41C17, + 0x15ED81974, + 0x15ED8B9B4, + 0x15EDB82BF, + 0x15EDE25A4, + 0x15EDFBECD, + 0x15EE72329, + 0x15EE7AAEF, + 0x15EEA77B6, + 0x15F0AEF51, + 0x15F0AF42A, + 0x15F0C8C9B, + 0x15F0D011A, + 0x15F0D1A30, + 0x15F1FFC65, + 0x15F2033FC, + 0x15F31715D, + 0x15F447EDC, + 0x15F4C17A4, + 0x15F5168A1, + 0x15F63D581, + 0x15F6C111D, + 0x15F7814BB, + 0x15F7A87A5, + 0x15F7D54D4, + 0x15F7FEDE6, + 0x15F8176FA, + 0x15F94DC03, + 0x15F94EBC3, + 0x15F964EE6, + 0x15F966EDB, + 0x15F99FA4A, + 0x15F9AC546, + 0x15F9AFC47, + 0x15F9B7E1A, }; constexpr uint64_t intact_integrity_check_blocks_server[] = From 375c77fd04d552ad663cdfd2264f7b1adf5ab8a2 Mon Sep 17 00:00:00 2001 From: momo5502 Date: Sat, 4 Mar 2023 11:45:55 +0100 Subject: [PATCH 03/30] Update demonware --- src/client/component/demonware.cpp | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/client/component/demonware.cpp b/src/client/component/demonware.cpp index cecc28b8..d31f85ec 100644 --- a/src/client/component/demonware.cpp +++ b/src/client/component/demonware.cpp @@ -476,28 +476,27 @@ namespace demonware { server_thread = utils::thread::create_named_thread("Demonware", server_main); + utils::hook::set(game::select(0x14293DC69, 0x1407D5879), 0x0); // CURLOPT_SSL_VERIFYPEER + utils::hook::set(game::select(0x15C293850, 0x1407D5865), 0xAF); // CURLOPT_SSL_VERIFYHOST - utils::hook::set(game::select(0x14293E829, 0x1407D5879), 0x0); // CURLOPT_SSL_VERIFYPEER - utils::hook::set(game::select(0x15F3CCFED, 0x1407D5865), 0xAF); // CURLOPT_SSL_VERIFYHOST - - utils::hook::copy_string(game::select(0x1430B96E0, 0x140EE4C68), "http://prod.umbrella.demonware.net"); + utils::hook::copy_string(game::select(0x1430B8670, 0x140EE4C68), "http://prod.umbrella.demonware.net"); if (game::is_server()) { return; } - utils::hook::copy_string(0x1430B9BE0_g, "http://prod.uno.demonware.net/v1.0"); + utils::hook::copy_string(0x1430B8B70_g, "http://prod.uno.demonware.net/v1.0"); - utils::hook::set(0x1430B9810_g, 0x0); // HTTPS -> HTTP - utils::hook::copy_string(0x1430B93C8_g, "http://%s:%d/auth/"); + utils::hook::set(0x1430B87A0_g, 0x0); // HTTPS -> HTTP + utils::hook::copy_string(0x1430B8358_g, "http://%s:%d/auth/"); - utils::hook::set(0x141EC4B50_g, 0xC3D08948); // Skip publisher file signature stuff - utils::hook::call(0x141EC458C_g, get_ffotd_name); // Return unlocalized ffotd name - utils::hook::set(0x141F04550_g, 0xC300000001B8); // Kill LPC_File_SafeWrite - utils::hook::set(0x141F03180_g, 0xC300000001B8); // Kill LPC_DeleteStale + utils::hook::set(0x141EC4AC0_g, 0xC3D08948); // Skip publisher file signature stuff + utils::hook::call(0x141EC44FC_g, get_ffotd_name); // Return unlocalized ffotd name + utils::hook::set(0x141F04500_g, 0xC300000001B8); // Kill LPC_File_SafeWrite + utils::hook::set(0x141F03130_g, 0xC300000001B8); // Kill LPC_DeleteStale - utils::hook::set(0x141E0AAAB_g, 0xEB); // Release un-handled reportReward spamming loop + utils::hook::set(0x141E0AA1B_g, 0xEB); // Release un-handled reportReward spamming loop } void pre_destroy() override @@ -516,4 +515,4 @@ namespace demonware }; } -REGISTER_COMPONENT(demonware::component) +REGISTER_COMPONENT_WORKING(demonware::component) From de9e2397115fb8ef4d744129a0bd704ac698e20e Mon Sep 17 00:00:00 2001 From: BrentVL-1952840 <70229620+Brentdevent@users.noreply.github.com> Date: Sat, 4 Mar 2023 12:36:06 +0100 Subject: [PATCH 04/30] Update console --- src/client/component/console.cpp | 14 +++++++------- src/client/game/symbols.hpp | 22 +++++++++++----------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/client/component/console.cpp b/src/client/component/console.cpp index 9db40451..706ad825 100644 --- a/src/client/component/console.cpp +++ b/src/client/component/console.cpp @@ -54,7 +54,7 @@ namespace console { a.push(rbx); a.mov(eax, 0x8030); - a.jmp(game::select(0x142333667, 0x140597527)); + a.jmp(game::select(0x142332AA7, 0x140597527)); }); static_cast(print_func)(message); @@ -105,13 +105,13 @@ namespace console game::Cbuf_AddText(0, "quit\n"); [[fallthrough]]; default: - return utils::hook::invoke(game::select(0x142333520, 0x1405973E0), hwnd, msg, wparam, lparam); + return utils::hook::invoke(game::select(0x142332960, 0x1405973E0), hwnd, msg, wparam, lparam); } } LRESULT input_line_wnd_proc(const HWND hwnd, const UINT msg, const WPARAM wparam, const LPARAM lparam) { - return utils::hook::invoke(game::select(0x142333820, 0x1405976E0), hwnd, msg, wparam, lparam); + return utils::hook::invoke(game::select(0x142332C60, 0x1405976E0), hwnd, msg, wparam, lparam); } void sys_create_console_stub(const HINSTANCE h_instance) @@ -212,8 +212,8 @@ namespace console utils::hook::set(0x14133D2FE_g, 0xEB); // Always enable ingame console } - utils::hook::jump(game::select(0x1423337F0, 0x1405976B0), queue_message); - utils::hook::nop(game::select(0x14233380A, 0x1405976CA), 2); // Print from every thread + utils::hook::jump(game::select(0x142332C30, 0x1405976B0), queue_message); + utils::hook::nop(game::select(0x142332C4A, 0x1405976CA), 2); // Print from every thread //const auto self = utils::nt::library::get_by_address(sys_create_console_stub); //logo = LoadImageA(self.get_handle(), MAKEINTRESOURCEA(IMAGE_LOGO), 0, 0, 0, LR_COPYFROMRESOURCE); @@ -251,7 +251,7 @@ namespace console { { static utils::hook::detour sys_create_console_hook; - sys_create_console_hook.create(game::select(0x1423339C0, 0x140597880), sys_create_console_stub); + sys_create_console_hook.create(game::select(0x142332E00, 0x140597880), sys_create_console_stub); game::Sys_ShowConsole(); started = true; @@ -299,4 +299,4 @@ namespace console }; } -REGISTER_COMPONENT(console::component) +REGISTER_COMPONENT_WORKING(console::component) diff --git a/src/client/game/symbols.hpp b/src/client/game/symbols.hpp index 7eb0445c..818a975a 100644 --- a/src/client/game/symbols.hpp +++ b/src/client/game/symbols.hpp @@ -18,7 +18,7 @@ namespace game WEAK symbol G_LogPrintf{0x0, 0x1402A7BB0}; // Com - WEAK symbol Com_Printf{0x1421499C0, 0x140505630}; + WEAK symbol Com_Printf{0x142148F60, 0x140505630}; WEAK symbol Com_Error_{0x1420F8BD0, 0x140501470}; WEAK symbol Com_SessionMode_IsMode{0x1420F7DD0}; WEAK symbol Com_SessionMode_SetNetworkMode{0x1420F8010, 0x140500B80}; @@ -30,7 +30,7 @@ namespace game 0x14214AF30 }; - WEAK symbol Cbuf_AddText{0x1420EC8B0, 0x1404F75B0}; + WEAK symbol Cbuf_AddText{0x1420EC010, 0x1404F75B0}; WEAK symbol Cbuf_ExecuteBuffer{ 0x14133BE10, 0x1404F78D0 }; @@ -74,7 +74,7 @@ namespace game // Sys WEAK symbol Sys_Milliseconds{0x142333430}; - WEAK symbol Sys_ShowConsole{0x142333F80, 0x140597E40}; + WEAK symbol Sys_ShowConsole{0x1423333C0, 0x140597E40}; WEAK symbol Sys_GetTLS{0x142184210, 0x140525EB0}; WEAK symbol Sys_IsDatabaseReady{0x1421844C0}; @@ -155,14 +155,14 @@ namespace game namespace s_wcd { - WEAK symbol codLogo{0x157E77A50, 0x14A640BC0}; - WEAK symbol hfBufferFont{0x157E77A58, 0x14A640BC8}; - WEAK symbol hWnd{0x157E77A40, 0x14A640BB0}; - WEAK symbol hwndBuffer{0x157E77A48, 0x14A640BB8}; - WEAK symbol hwndInputLine{0x157E77A60, 0x14A640BD0}; - WEAK symbol windowHeight{0x157E7806C, 0x14A6411DC}; - WEAK symbol windowWidth{0x157E78068, 0x14A6411D8}; - WEAK symbol SysInputLineWndProc{0x157E78070, 0x14A6411E0}; + WEAK symbol codLogo{0x157E75A50, 0x14A640BC0}; + WEAK symbol hfBufferFont{0x157E75A58, 0x14A640BC8}; + WEAK symbol hWnd{0x157E75A40, 0x14A640BB0}; + WEAK symbol hwndBuffer{0x157E75A48, 0x14A640BB8}; + WEAK symbol hwndInputLine{0x157E75A60, 0x14A640BD0}; + WEAK symbol windowHeight{0x157E7606C, 0x14A6411DC}; + WEAK symbol windowWidth{0x157E76068, 0x14A6411D8}; + WEAK symbol SysInputLineWndProc{0x157E76070, 0x14A6411E0}; } // Global game definitions From 7a99c2309313d852b4dd92af75b2cfc91152668d Mon Sep 17 00:00:00 2001 From: momo5502 Date: Sat, 4 Mar 2023 13:27:33 +0100 Subject: [PATCH 05/30] Add some components that work out of the box --- src/client/component/splash.cpp | 2 +- src/client/component/steam_proxy.cpp | 2 +- src/client/component/updater.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/client/component/splash.cpp b/src/client/component/splash.cpp index b86f2f6d..426618ae 100644 --- a/src/client/component/splash.cpp +++ b/src/client/component/splash.cpp @@ -195,4 +195,4 @@ namespace splash } } -REGISTER_COMPONENT(splash::component) +REGISTER_COMPONENT_WORKING(splash::component) diff --git a/src/client/component/steam_proxy.cpp b/src/client/component/steam_proxy.cpp index 568a9d97..7457664a 100644 --- a/src/client/component/steam_proxy.cpp +++ b/src/client/component/steam_proxy.cpp @@ -317,4 +317,4 @@ namespace steam_proxy } } -REGISTER_COMPONENT(steam_proxy::component) +REGISTER_COMPONENT_WORKING(steam_proxy::component) diff --git a/src/client/component/updater.cpp b/src/client/component/updater.cpp index 63a0230a..8207e3a7 100644 --- a/src/client/component/updater.cpp +++ b/src/client/component/updater.cpp @@ -63,4 +63,4 @@ namespace updater }; } -REGISTER_COMPONENT(updater::component) +REGISTER_COMPONENT_WORKING(updater::component) From aabacaa1ab90520753f2e048bcd2abac6766066c Mon Sep 17 00:00:00 2001 From: momo5502 Date: Sat, 4 Mar 2023 13:34:23 +0100 Subject: [PATCH 06/30] More working components --- src/client/component/exception.cpp | 2 +- src/client/component/server_list.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client/component/exception.cpp b/src/client/component/exception.cpp index 98c4e7f9..e25f65c8 100644 --- a/src/client/component/exception.cpp +++ b/src/client/component/exception.cpp @@ -212,4 +212,4 @@ namespace exception }; } -REGISTER_COMPONENT(exception::component) +REGISTER_COMPONENT_WORKING(exception::component) diff --git a/src/client/component/server_list.cpp b/src/client/component/server_list.cpp index 7bcff98e..7e008c0f 100644 --- a/src/client/component/server_list.cpp +++ b/src/client/component/server_list.cpp @@ -145,4 +145,4 @@ namespace server_list }; } -REGISTER_COMPONENT(server_list::component) +REGISTER_COMPONENT_WORKING(server_list::component) From 8c5984220d28effb7cef843cdc28b62df029d263 Mon Sep 17 00:00:00 2001 From: momo5502 Date: Sat, 4 Mar 2023 13:51:05 +0100 Subject: [PATCH 07/30] Fix messages --- src/client/main.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/client/main.cpp b/src/client/main.cpp index cd04cf9f..cc75e8e3 100644 --- a/src/client/main.cpp +++ b/src/client/main.cpp @@ -314,11 +314,11 @@ namespace throw std::runtime_error("Bad binary loaded into memory"); } - if (!is_server && !game::is_legacy_client()) + if (!is_server && !game::is_client()) { - if(game::is_client()) + if(game::is_legacy_client()) { - throw std::runtime_error("You are running the latest Steam update. We're working on supporting it. For the time being, however, you have to revert to the old binary."); + throw std::runtime_error("You are using the outdated BlackOps3.exe. This version is not supported anymore. Please use the latest binary from Steam."); } throw std::runtime_error("Bad binary loaded into memory"); From af7ad43b80c8a4550990dbfd3a5e4fde4aee4435 Mon Sep 17 00:00:00 2001 From: BrentVL-1952840 <70229620+Brentdevent@users.noreply.github.com> Date: Sat, 4 Mar 2023 13:54:47 +0100 Subject: [PATCH 08/30] Update auth --- src/client/component/auth.cpp | 39 +++++++++++++++++------------------ 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/src/client/component/auth.cpp b/src/client/component/auth.cpp index e133f376..55a7def0 100644 --- a/src/client/component/auth.cpp +++ b/src/client/component/auth.cpp @@ -101,8 +101,7 @@ namespace auth return 0x110000100000000 | (::utils::cryptography::random::get_integer() & ~0x80000000); } - //return get_key().get_hash(); - return 0x110000100000001; + return get_key().get_hash(); }(); return guid; @@ -135,27 +134,27 @@ namespace auth } else { - p(0x141E19D7D_g, 0x141E19DCB_g); - p(0x141EB2D06_g, 0x141EB2D46_g); - p(0x141EB2E3D_g, 0x141EB2E82_g); - p(0x141EB3CC5_g, 0x141EB3D06_g); - p(0x141E19B60_g, 0x141E19BB6_g); + p(0x141E19CED_g, 0x141E19D3B_g); + p(0x141EB2C76_g, 0x141EB2CB6_g); + p(0x141EB2DAD_g, 0x141EB2DF2_g); + p(0x141EB3C35_g, 0x141EB3C76_g); + p(0x141E19AD0_g, 0x141E19B26_g); // - p(0x141EB0F78_g, 0x141EB0FB9_g); - p(0x141EB1038_g, 0x141EB1079_g); - p(0x141EB25B5_g, 0x141EB2603_g); - p(0x141EB26DD_g, 0x141EB2733_g); - p(0x141EB280D_g, 0x141EB2857_g); + p(0x141EB0EE8_g, 0x141EB0F29_g); + p(0x141EB0FA8_g, 0x141EB0FE9_g); + p(0x141EB2525_g, 0x141EB2573_g); + p(0x141EB264D_g, 0x141EB26A3_g); + p(0x141EB277D_g, 0x141EB27C7_g); - p(0x141EB2B7A_g, 0x141EB2B8A_g); - p(0x141EB2B91_g, 0x141EB2BC3_g); + p(0x141EB2AEA_g, 0x141EB2AFA_g); + p(0x141EB2B01_g, 0x141EB2B33_g); - p(0x141EB31C7_g, 0x141EB31D7_g); - p(0x141EB31DE_g, 0x141EB320F_g); + p(0x141EB3137_g, 0x141EB3147_g); + p(0x141EB314E_g, 0x141EB317F_g); - p(0x141EB5407_g, 0x141EB544F_g); // ? - p(0x141EB5A22_g, 0x141EB5A65_g); - p(0x141EB7562_g, 0x141EB75A5_g); // ? + p(0x141EB5377_g, 0x141EB53BF_g); // ? + p(0x141EB5992_g, 0x141EB59D5_g); + p(0x141EB74D2_g, 0x141EB7515_g); // ? } for (const auto& patch : patches) @@ -166,4 +165,4 @@ namespace auth }; } -REGISTER_COMPONENT(auth::component) +REGISTER_COMPONENT_WORKING(auth::component) From 5633de340d17715d47557c6e23f757c6adb73068 Mon Sep 17 00:00:00 2001 From: BrentVL-1952840 <70229620+Brentdevent@users.noreply.github.com> Date: Sat, 4 Mar 2023 15:02:08 +0100 Subject: [PATCH 09/30] Update symbols --- src/client/game/symbols.hpp | 100 ++++++++++++++++++------------------ 1 file changed, 49 insertions(+), 51 deletions(-) diff --git a/src/client/game/symbols.hpp b/src/client/game/symbols.hpp index 818a975a..63ce0ff6 100644 --- a/src/client/game/symbols.hpp +++ b/src/client/game/symbols.hpp @@ -19,15 +19,15 @@ namespace game // Com WEAK symbol Com_Printf{0x142148F60, 0x140505630}; - WEAK symbol Com_Error_{0x1420F8BD0, 0x140501470}; - WEAK symbol Com_SessionMode_IsMode{0x1420F7DD0}; - WEAK symbol Com_SessionMode_SetNetworkMode{0x1420F8010, 0x140500B80}; - WEAK symbol Com_SessionMode_SetGameMode{0x1420F7FD0, 0x140500B40}; - WEAK symbol Com_SessionMode_SetMode{0x1420F7FF0}; - WEAK symbol Com_GametypeSettings_SetGametype{0x1420F63E0}; - WEAK symbol Com_IsRunningUILevel{0x142148DB0}; + WEAK symbol Com_Error_{0x1420F8170, 0x140501470}; + WEAK symbol Com_SessionMode_IsMode{0x1420F7370}; + WEAK symbol Com_SessionMode_SetNetworkMode{0x1420F75B0, 0x140500B80}; + WEAK symbol Com_SessionMode_SetGameMode{0x1420F7570, 0x140500B40}; + WEAK symbol Com_SessionMode_SetMode{0x1420F7570}; + WEAK symbol Com_GametypeSettings_SetGametype{0x1420F5980}; + WEAK symbol Com_IsRunningUILevel{0x142148350}; WEAK symbol Com_SwitchMode{ - 0x14214AF30 + 0x14214A4D0 }; WEAK symbol Cbuf_AddText{0x1420EC010, 0x1404F75B0}; @@ -35,7 +35,7 @@ namespace game 0x14133BE10, 0x1404F78D0 }; WEAK symbol Cmd_AddCommandInternal{ - 0x1420ED530, 0x1404F8210 + 0x1420ECC90, 0x1404F8210 }; WEAK symbol Cbuf_AddServerText_f{0x0, 0x1407DB4C0}; WEAK symbol Cmd_AddServerCommandInternal @@ -44,7 +44,7 @@ namespace game }; WEAK symbol Cmd_ExecuteSingleCommand{ - 0x1420EDC20 + 0x1420ED380 }; WEAK symbol Con_GetTextCopy{0x14133A7D0, 0x140182C40}; @@ -61,50 +61,50 @@ namespace game WEAK symbol DB_GetXAssetName{0x1413E9DA0, 0x14019F080}; // Live - WEAK symbol Live_GetConnectivityInformation{0x141E0C410}; + WEAK symbol Live_GetConnectivityInformation{0x141E0C380}; // MSG - WEAK symbol MSG_ReadByte{0x142155EB0, 0x14050D1B0}; + WEAK symbol MSG_ReadByte{0x142155450, 0x14050D1B0}; // NET WEAK symbol NET_SendPacket{ - 0x142332F70, 0x140596E40 + 0x1423323B0, 0x140596E40 }; - WEAK symbol NET_StringToAdr{0x1421731E0, 0x140515110}; + WEAK symbol NET_StringToAdr{0x142172780, 0x140515110}; // Sys - WEAK symbol Sys_Milliseconds{0x142333430}; + WEAK symbol Sys_Milliseconds{0x142332870}; WEAK symbol Sys_ShowConsole{0x1423333C0, 0x140597E40}; - WEAK symbol Sys_GetTLS{0x142184210, 0x140525EB0}; - WEAK symbol Sys_IsDatabaseReady{0x1421844C0}; + WEAK symbol Sys_GetTLS{0x1421837B0, 0x140525EB0}; + WEAK symbol Sys_IsDatabaseReady{0x142183A60}; // Unnamed - WEAK symbol CopyString{0x1422ACC80, 0x14056BD70}; + WEAK symbol CopyString{0x1422AC220, 0x14056BD70}; // Dvar - WEAK symbol Dvar_IsSessionModeBaseDvar{0x1422C2E00, 0x140576890}; - WEAK symbol Dvar_FindVar{0x1422BD730, 0x140575540}; + WEAK symbol Dvar_IsSessionModeBaseDvar{0x1422C23A0, 0x140576890}; + WEAK symbol Dvar_FindVar{0x1422BCCD0, 0x140575540}; WEAK symbol Dvar_GenerateHash{0x14133DBF0, 0x140185800}; - WEAK symbol Dvar_FindMalleableVar{0x1422BD6A0}; - WEAK symbol Dvar_GetDebugName{0x1422BDCB0}; - WEAK symbol Dvar_GetString{0x1422BFFF0, 0x140575E30}; - WEAK symbol Dvar_DisplayableValue{0x1422BCAE0}; - WEAK symbol Dvar_GetBool{0x1422BD930}; + WEAK symbol Dvar_FindMalleableVar{0x1422BCC40}; + WEAK symbol Dvar_GetDebugName{0x1422BD250}; + WEAK symbol Dvar_GetString{0x1422BF590, 0x140575E30}; + WEAK symbol Dvar_DisplayableValue{0x1422BC080}; + WEAK symbol Dvar_GetBool{0x1422BCED0}; WEAK symbol Dvar_RegisterBool{ - 0x1422D1360 + 0x1422D0900 }; - WEAK symbol Dvar_ForEach{0x1422BD760}; + WEAK symbol Dvar_ForEach{0x1422BCD00}; WEAK symbol Dvar_SetFromStringByName{ - 0x1422C7F60 + 0x1422C7500 }; // UI - WEAK symbol UI_CoD_Init{0x141F298B0, 0x0}; - WEAK symbol UI_CoD_LobbyUI_Init{0x141F2C620, 0x0}; - WEAK symbol UI_CoD_Shutdown{0x141F336B0, 0x0}; - WEAK symbol UI_AddMenu{0x1427024B0, 0x0}; - WEAK symbol UI_CoD_GetRootNameForController{0x141F291E0, 0x0}; - WEAK symbol Lua_CoD_LoadLuaFile{0x141F122C0, 0x0}; + WEAK symbol UI_CoD_Init{0x141F29010, 0x0}; + WEAK symbol UI_CoD_LobbyUI_Init{0x141F2BD80, 0x0}; + WEAK symbol UI_CoD_Shutdown{0x141F32E10, 0x0}; + WEAK symbol UI_AddMenu{0x1427018F0, 0x0}; + WEAK symbol UI_CoD_GetRootNameForController{0x141F28940, 0x0}; + WEAK symbol Lua_CoD_LoadLuaFile{0x141F11A20, 0x0}; WEAK symbol CG_LUIHUDRestart{0x140F7E970}; WEAK symbol CL_CheckKeepDrawingConnectScreen{0x1413CCAE0}; @@ -120,8 +120,6 @@ namespace game WEAK symbol Cinematic_StartPlayback{0x1412BE3A0}; WEAK symbol Cinematic_StopPlayback{0x1412BEA70}; - WEAK symbol ShouldTransfer{0x142276E10}; - // Rendering WEAK symbol R_AddCmdDrawText{ @@ -129,29 +127,29 @@ namespace game }; // SV - WEAK symbol SV_Loaded{0x142252CB0, 0x140535460}; - WEAK symbol SV_AddTestClient{0x1422499A0, 0x14052E3E0}; + WEAK symbol SV_Loaded{0x142252250, 0x140535460}; + WEAK symbol SV_AddTestClient{0x142248F40, 0x14052E3E0}; WEAK symbol SV_SendServerCommand{0x0, 0x140537F10}; - WEAK symbol SV_IsTestClient{0x14224B5C0, 0x14052FF40}; - WEAK symbol SV_SpawnServer{0x142253320, 0x140535B20}; + WEAK symbol SV_IsTestClient{0x14224AB60, 0x14052FF40}; + WEAK symbol SV_SpawnServer{0x1422528C0, 0x140535B20}; // Utils - WEAK symbol I_CleanStr{0x1422E9C10, 0x140580E80}; + WEAK symbol I_CleanStr{0x1422E9050, 0x140580E80}; // Variables - WEAK symbol cmd_functions{0x15689FF58, 0x14946F860}; - WEAK symbol sv_cmd_args{0x15689CE30, 0x14944C740}; + WEAK symbol cmd_functions{0x15689DF58, 0x14946F860}; + WEAK symbol sv_cmd_args{0x15689AE30, 0x14944C740}; WEAK symbol g_entities{0x0, 0x1471031B0}; WEAK symbol level_time{0x0, 0x1474FDC94}; - WEAK symbol ip_socket{0x157E77818, 0x14A640988}; + WEAK symbol ip_socket{0x157E75818, 0x14A640988}; - WEAK symbol s_join{0x15574C640}; + WEAK symbol s_join{0x15574A640}; - WEAK symbol s_dvarPool{0x157AC8220, 0x14A3CB620}; - WEAK symbol g_dvarCount{0x157AC81CC, 0x14A3CB5FC}; + WEAK symbol s_dvarPool{0x157AC6220, 0x14A3CB620}; + WEAK symbol g_dvarCount{0x157AC61CC, 0x14A3CB5FC}; namespace s_wcd { @@ -178,20 +176,20 @@ namespace game namespace hks { - WEAK symbol lua_state {0x159C78D88, 0x14858C408}; + WEAK symbol lua_state {0x159C76D88, 0x14858C408}; WEAK symbol hksi_lua_pushlstring{0x140A18430, 0x1401DE6F0}; WEAK symbol hks_obj_settable{0x141D4B660, 0x1403F41B0}; WEAK symbol hks_obj_gettable{0x141D4ABF0, 0x1403F3750}; - WEAK symbol vm_call_internal{0x141D71070, 0x140418E40}; + WEAK symbol vm_call_internal{0x141D70FE0, 0x140418E40}; WEAK symbol Hashtable_Create{0x141D3B5F0, 0x1403E46D0}; WEAK symbol cclosure_Create{0x141D3B7E0, 0x1403E48C0}; WEAK symbol hksi_luaL_ref{0x141D4D1A0, 0x1403F5CF0}; WEAK symbol hksi_luaL_unref{0x141D4D320, 0x1403F5E70}; WEAK symbol hksi_hksL_loadbuffer{0x141D4BD80, 0x1403F48D0}; - WEAK symbol hksi_lua_getinfo{0x141D4D960, 0x1403F64B0}; - WEAK symbol hksi_lua_getstack{0x141D4DC20, 0x1403F6770}; + WEAK symbol hksi_lua_getinfo{0x141D4D8D0, 0x1403F64B0}; + WEAK symbol hksi_lua_getstack{0x141D4DB90, 0x1403F6770}; WEAK symbol hksi_luaL_error{0x141D4D050, 0x1403F5BA0}; WEAK symbol s_compilerTypeName{0x140A18430}; } From b274a499d057c9a6e643c04806976207f2f7ba5b Mon Sep 17 00:00:00 2001 From: BrentVL-1952840 <70229620+Brentdevent@users.noreply.github.com> Date: Sat, 4 Mar 2023 15:42:31 +0100 Subject: [PATCH 10/30] Update network --- src/client/component/network.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/client/component/network.cpp b/src/client/component/network.cpp index ebe2a124..77847a20 100644 --- a/src/client/component/network.cpp +++ b/src/client/component/network.cpp @@ -237,22 +237,22 @@ namespace network { void post_unpack() override { - utils::hook::nop(game::select(0x142332E76, 0x140596DF6), 4); // don't increment data pointer to optionally skip socket byte - utils::hook::call(game::select(0x142332E43, 0x140596DC3), read_socket_byte_stub); // optionally read socket byte - utils::hook::call(game::select(0x142332E81, 0x140596E01), verify_checksum_stub); // skip checksum verification - utils::hook::set(game::select(0x14233305E, 0x140596F2E), 0); // don't add checksum to packet + utils::hook::nop(game::select(0x1423322B6, 0x140596DF6), 4); // don't increment data pointer to optionally skip socket byte + utils::hook::call(game::select(0x142332283, 0x140596DC3), read_socket_byte_stub); // optionally read socket byte + utils::hook::call(game::select(0x1423322C1, 0x140596E01), verify_checksum_stub); // skip checksum verification + utils::hook::set(game::select(0x14233249E, 0x140596F2E), 0); // don't add checksum to packet utils::hook::set(game::select(0x14134C6E0, 0x14018E574), 5); // set initial connection state to challenging // intercept command handling utils::hook::call(game::select(0x14134D146, 0x14018EED0), utils::hook::assemble(handle_command_stub)); - utils::hook::set(game::select(0x14224E90D, 0x1405315F9), 0xEB); // don't kick clients without dw handle + utils::hook::set(game::select(0x14224DEAD, 0x1405315F9), 0xEB); // don't kick clients without dw handle // Skip DW stuff in NetAdr_ToString - utils::hook::set(game::select(0x142173952, 0x140515881), 0xEB); + utils::hook::set(game::select(0x142172EF2, 0x140515881), 0xEB); // NA_IP -> NA_RAWIP in NetAdr_ToString - utils::hook::set(game::select(0x142173934, 0x140515864), game::NA_RAWIP); + utils::hook::set(game::select(0x142172ED4, 0x140515864), game::NA_RAWIP); if (game::is_server()) { @@ -264,9 +264,9 @@ namespace network scheduler::once(create_ip_socket, scheduler::main); // Kill lobby system - handle_packet_internal_hook.create(game::select(0x141EF8030, 0x1404A5B90), &handle_packet_internal_stub); + handle_packet_internal_hook.create(game::select(0x141EF7FE0, 0x1404A5B90), &handle_packet_internal_stub); } }; } -REGISTER_COMPONENT(network::component) +REGISTER_COMPONENT_WORKING(network::component) From 70e405f0c45e6780a5729a57fd6cd81081dabe82 Mon Sep 17 00:00:00 2001 From: BrentVL-1952840 <70229620+Brentdevent@users.noreply.github.com> Date: Sat, 4 Mar 2023 15:42:44 +0100 Subject: [PATCH 11/30] Update party --- src/client/component/party.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/client/component/party.cpp b/src/client/component/party.cpp index e7490803..3fa172ea 100644 --- a/src/client/component/party.cpp +++ b/src/client/component/party.cpp @@ -90,7 +90,7 @@ namespace party { const auto LobbyJoin_Begin = reinterpret_cast(0x141ED9540_g); + game::LobbyType targetLobbyType)>(0x141ED94D0_g); if (!LobbyJoin_Begin(0, game::CONTROLLER_INDEX_FIRST, game::LOBBY_TYPE_PRIVATE, game::LOBBY_TYPE_PRIVATE)) { @@ -205,7 +205,7 @@ namespace party game::netadr_t get_connected_server() { constexpr auto local_client_num = 0ull; - const auto address = *reinterpret_cast(0x1453DABB8_g) + (0x25780 * local_client_num) + 0x10; + const auto address = *reinterpret_cast(0x1453D8BB8_g) + (0x25780 * local_client_num) + 0x10; return *reinterpret_cast(address); } @@ -297,7 +297,7 @@ namespace party { void post_unpack() override { - utils::hook::jump(0x141EE6030_g, &connect_stub); + utils::hook::jump(0x141EE5FE0_g, &connect_stub); network::on("infoResponse", handle_info_response); scheduler::loop(cleanup_queried_servers, scheduler::async, 200ms); @@ -313,4 +313,4 @@ namespace party }; } -REGISTER_COMPONENT(party::component) +REGISTER_COMPONENT_WORKING(party::component) From eee4fc5cd1e0a0ca4228ea4c54b6a0a81a25f256 Mon Sep 17 00:00:00 2001 From: BrentVL-1952840 <70229620+Brentdevent@users.noreply.github.com> Date: Sat, 4 Mar 2023 15:42:53 +0100 Subject: [PATCH 12/30] Update patches --- src/client/component/patches.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/component/patches.cpp b/src/client/component/patches.cpp index abe3c552..54ce700c 100644 --- a/src/client/component/patches.cpp +++ b/src/client/component/patches.cpp @@ -33,4 +33,4 @@ namespace patches }; } -REGISTER_COMPONENT(patches::component) +REGISTER_COMPONENT_WORKING(patches::component) From 128df546f137385ad61cf0b9ed7b71f457dbbbef Mon Sep 17 00:00:00 2001 From: BrentVL-1952840 <70229620+Brentdevent@users.noreply.github.com> Date: Sat, 4 Mar 2023 15:55:41 +0100 Subject: [PATCH 13/30] Update scheduler --- src/client/component/scheduler.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/client/component/scheduler.cpp b/src/client/component/scheduler.cpp index 8b5ae514..fd6f7acf 100644 --- a/src/client/component/scheduler.cpp +++ b/src/client/component/scheduler.cpp @@ -168,12 +168,12 @@ namespace scheduler { if (!game::is_server()) { - r_end_frame_hook.create(0x142273560_g, r_end_frame_stub); + r_end_frame_hook.create(0x142272B00_g, r_end_frame_stub); // some func called before R_EndFrame, maybe SND_EndFrame? } //g_run_frame_hook.create(0x14065C360_g, server_frame_stub); // GlassSv_Update - main_frame_hook.create(game::select(0x1420F9860, 0x1405020E0), main_frame_stub); + main_frame_hook.create(game::select(0x1420F8E00, 0x1405020E0), main_frame_stub); // Com_Frame_Try_Block_Function } @@ -188,4 +188,4 @@ namespace scheduler }; } -REGISTER_COMPONENT(scheduler::component) +REGISTER_COMPONENT_WORKING(scheduler::component) From aa1ed82eda0d8aa86b24a7e6dfcf92e24e7a2904 Mon Sep 17 00:00:00 2001 From: BrentVL-1952840 <70229620+Brentdevent@users.noreply.github.com> Date: Sat, 4 Mar 2023 16:03:27 +0100 Subject: [PATCH 14/30] Forgot an address in party.cpp --- src/client/component/party.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/component/party.cpp b/src/client/component/party.cpp index 3fa172ea..4065c3ef 100644 --- a/src/client/component/party.cpp +++ b/src/client/component/party.cpp @@ -44,7 +44,7 @@ namespace party { scheduler::once([=] { - const auto local_client = *reinterpret_cast(0x14342355C_g); + const auto local_client = *reinterpret_cast(0x14342155C_g); const auto current_mode = game::Com_SessionMode_GetMode(); game::Com_SwitchMode(local_client, current_mode, mode, 6); }, scheduler::main); From abde1e009f0201613f0ca61998dbcbdc2118c139 Mon Sep 17 00:00:00 2001 From: BrentVL-1952840 <70229620+Brentdevent@users.noreply.github.com> Date: Sat, 4 Mar 2023 16:18:37 +0100 Subject: [PATCH 15/30] Update branding --- src/client/component/branding.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/component/branding.cpp b/src/client/component/branding.cpp index dc8a48d6..c5539723 100644 --- a/src/client/component/branding.cpp +++ b/src/client/component/branding.cpp @@ -34,4 +34,4 @@ namespace branding }; } -REGISTER_COMPONENT(branding::component) +REGISTER_COMPONENT_WORKING(branding::component) From e1d1400737403a275fe2d15daaeeaf2d675e8ae4 Mon Sep 17 00:00:00 2001 From: BrentVL-1952840 <70229620+Brentdevent@users.noreply.github.com> Date: Sat, 4 Mar 2023 16:24:09 +0100 Subject: [PATCH 16/30] Update command --- src/client/component/command.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client/component/command.cpp b/src/client/component/command.cpp index 767e328e..c5d8b35b 100644 --- a/src/client/component/command.cpp +++ b/src/client/component/command.cpp @@ -71,7 +71,7 @@ namespace command void post_unpack() override { // Disable whitelist - utils::hook::jump(game::select(0x1420EF190, 0x1404F9CD0), update_whitelist_stub); + utils::hook::jump(game::select(0x1420EE860, 0x1404F9CD0), update_whitelist_stub); } }; @@ -194,4 +194,4 @@ namespace command } } -REGISTER_COMPONENT(command::component) +REGISTER_COMPONENT_WORKING(command::component) From 149ac1a2191cf46c110b72b68066ce2d62e83bae Mon Sep 17 00:00:00 2001 From: BrentVL-1952840 <70229620+Brentdevent@users.noreply.github.com> Date: Sat, 4 Mar 2023 16:29:40 +0100 Subject: [PATCH 17/30] Update client_patches --- src/client/component/client_patches.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client/component/client_patches.cpp b/src/client/component/client_patches.cpp index 0a2cf29d..e2f71ebc 100644 --- a/src/client/component/client_patches.cpp +++ b/src/client/component/client_patches.cpp @@ -79,11 +79,11 @@ namespace client_patches fix_amd_cpu_stuttering(); // Kill microphones for now - utils::hook::set(0x15AAEB254_g, mixer_open_stub); + utils::hook::set(0x15AAE9254_g, mixer_open_stub); preload_map_hook.create(0x14135A1E0_g, preload_map_stub); } }; } -REGISTER_COMPONENT(client_patches::component) +REGISTER_COMPONENT_WORKING(client_patches::component) From 89e14e8bbb13152d7e611d8ad2a93250eca66a74 Mon Sep 17 00:00:00 2001 From: BrentVL-1952840 <70229620+Brentdevent@users.noreply.github.com> Date: Sat, 4 Mar 2023 16:41:31 +0100 Subject: [PATCH 18/30] Update dvars --- src/client/component/dvars.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/client/component/dvars.cpp b/src/client/component/dvars.cpp index 5d06b85a..c8173948 100644 --- a/src/client/component/dvars.cpp +++ b/src/client/component/dvars.cpp @@ -202,23 +202,23 @@ namespace dvars if (!game::is_server()) { scheduler::once(read_archive_dvars, scheduler::pipeline::main); - dvar_set_variant_hook.create(0x1422C9A90_g, dvar_set_variant_stub); + dvar_set_variant_hook.create(0x1422C9030_g, dvar_set_variant_stub); // Show all known dvars in console - utils::hook::jump(0x1422BD890_g, dvar_for_each_name_stub); - utils::hook::jump(0x1422BD7E0_g, dvar_for_each_name_client_num_stub); + utils::hook::jump(0x1422BCE30_g, dvar_for_each_name_stub); + utils::hook::jump(0x1422BCD80_g, dvar_for_each_name_client_num_stub); } scheduler::once(copy_dvar_names_to_pool, scheduler::pipeline::main); // All dvars are recognized as command - utils::hook::nop(game::select(0x14215297A, 0x14050949A), 2); + utils::hook::nop(game::select(0x142151F1A, 0x14050949A), 2); // Show all dvars in dvarlist command - utils::hook::nop(game::select(0x142152C87, 0x140509797), 6); + utils::hook::nop(game::select(0x142152227, 0x140509797), 6); // Show all dvars in dvardump command - utils::hook::nop(game::select(0x142152659, 0x140509179), 6); + utils::hook::nop(game::select(0x142151BF9, 0x140509179), 6); } }; } -REGISTER_COMPONENT(dvars::component) +REGISTER_COMPONENT_WORKING(dvars::component) From dc3278e0711d3c3a7003cadbe5cfcd89c2f39885 Mon Sep 17 00:00:00 2001 From: BrentVL-1952840 <70229620+Brentdevent@users.noreply.github.com> Date: Sat, 4 Mar 2023 16:50:42 +0100 Subject: [PATCH 19/30] Update getinfo --- src/client/component/getinfo.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/client/component/getinfo.cpp b/src/client/component/getinfo.cpp index 5478d56a..36c34aab 100644 --- a/src/client/component/getinfo.cpp +++ b/src/client/component/getinfo.cpp @@ -24,7 +24,7 @@ namespace getinfo int get_client_count() { int count = 0; - const auto client_states = *reinterpret_cast(game::select(0x1576FB318, 0x14A178E98)); + const auto client_states = *reinterpret_cast(game::select(0x1576F9318, 0x14A178E98)); if (!client_states) { return 0; @@ -46,7 +46,7 @@ namespace getinfo int get_bot_count() { - const auto client_states = *reinterpret_cast(game::select(0x1576FB318, 0x14A178E98)); + const auto client_states = *reinterpret_cast(game::select(0x1576F9318, 0x14A178E98)); if (!client_states) { return 0; @@ -69,7 +69,7 @@ namespace getinfo { int Com_SessionMode_GetGameMode() { - return *reinterpret_cast(game::select(0x1568EF7F4, 0x14948DB04)) << 14 >> 28; + return *reinterpret_cast(game::select(0x1568ED7F4, 0x14948DB04)) << 14 >> 28; } } @@ -119,4 +119,4 @@ namespace getinfo }; } -REGISTER_COMPONENT(getinfo::component) +REGISTER_COMPONENT_WORKING(getinfo::component) From 8b57c4794ac3a200b088f710aa73b55e57874860 Mon Sep 17 00:00:00 2001 From: BrentVL-1952840 <70229620+Brentdevent@users.noreply.github.com> Date: Sat, 4 Mar 2023 17:05:55 +0100 Subject: [PATCH 20/30] Update loot --- src/client/component/loot.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/client/component/loot.cpp b/src/client/component/loot.cpp index 928abbe6..b675cc62 100644 --- a/src/client/component/loot.cpp +++ b/src/client/component/loot.cpp @@ -62,9 +62,9 @@ namespace loot dvar_cg_unlockall_loot = game::Dvar_RegisterBool(game::Dvar_GenerateHash("cg_unlockall_loot"), "cg_unlockall_loot", false, (game::dvarFlags_e)0x0, "Unlocks blackmarket loot"); dvar_cg_unlockall_loot->debugName = "cg_unlockall_loot"; - loot_getitemquantity_hook.create(0x141E82C90_g, loot_getitemquantity_stub); - liveinventory_getitemquantity_hook.create(0x141E090C0_g, liveinventory_getitemquantity_stub); - liveinventory_areextraslotspurchased_hook.create(0x141E089E0_g, liveinventory_areextraslotspurchased_stub); + loot_getitemquantity_hook.create(0x141E82C00_g, loot_getitemquantity_stub); + liveinventory_getitemquantity_hook.create(0x141E09030_g, liveinventory_getitemquantity_stub); + liveinventory_areextraslotspurchased_hook.create(0x141E08950_g, liveinventory_areextraslotspurchased_stub); scheduler::once([]() { if (dvar_cg_unlockall_loot->current.enabled) @@ -76,4 +76,4 @@ namespace loot }; }; -REGISTER_COMPONENT(loot::component) +REGISTER_COMPONENT_WORKING(loot::component) From 68c2459b9cf9f11bce4a4b4d1a061e3d49baec59 Mon Sep 17 00:00:00 2001 From: BrentVL-1952840 <70229620+Brentdevent@users.noreply.github.com> Date: Sat, 4 Mar 2023 17:08:19 +0100 Subject: [PATCH 21/30] Update script --- src/client/component/script.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/component/script.cpp b/src/client/component/script.cpp index 7bdc3241..b32c4b19 100644 --- a/src/client/component/script.cpp +++ b/src/client/component/script.cpp @@ -134,4 +134,4 @@ namespace script }; }; -REGISTER_COMPONENT(script::component) +REGISTER_COMPONENT_WORKING(script::component) From daa32e9080ea59657cdefce7db1cf8b4c14d2d3f Mon Sep 17 00:00:00 2001 From: BrentVL-1952840 <70229620+Brentdevent@users.noreply.github.com> Date: Sat, 4 Mar 2023 17:34:04 +0100 Subject: [PATCH 22/30] Update bots --- src/client/component/bots.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client/component/bots.cpp b/src/client/component/bots.cpp index 23ca2bc5..e07aa9b8 100644 --- a/src/client/component/bots.cpp +++ b/src/client/component/bots.cpp @@ -118,7 +118,7 @@ namespace bots void post_unpack() override { utils::hook::jump(game::select(0x141653B70, 0x1402732E0), get_bot_name); - utils::hook::call(game::select(0x142249AF7, 0x14052E53A), format_bot_string); + utils::hook::call(game::select(0x142249097, 0x14052E53A), format_bot_string); if (!game::is_server()) { @@ -157,4 +157,4 @@ namespace bots }; } -REGISTER_COMPONENT(bots::component) +REGISTER_COMPONENT_WORKING(bots::component) From a1d46ba5944a758288aef89b5e170f280796a8b4 Mon Sep 17 00:00:00 2001 From: BrentVL-1952840 <70229620+Brentdevent@users.noreply.github.com> Date: Sat, 4 Mar 2023 18:09:39 +0100 Subject: [PATCH 23/30] Update ui_scripting --- src/client/component/ui_scripting.cpp | 10 +++++----- src/client/game/symbols.hpp | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/client/component/ui_scripting.cpp b/src/client/component/ui_scripting.cpp index baa565b9..b52d8136 100644 --- a/src/client/component/ui_scripting.cpp +++ b/src/client/component/ui_scripting.cpp @@ -454,10 +454,10 @@ namespace ui_scripting utils::hook::call(game::select(0x141D4979A, 0x1403F233A), hks_load_stub); hks_package_require_hook.create(game::select(0x141D28EF0, 0x1403D7FC0), hks_package_require_stub); - ui_cod_init_hook.create(game::select(0x141F298B0, 0x1404A0A50), ui_cod_init_stub); - ui_cod_lobbyui_init_hook.create(game::select(0x141F2C620, 0x1404A1F50), ui_cod_lobbyui_init_stub); - ui_shutdown_hook.create(game::select(0x14270E9C0, 0x1404A1280), ui_shutdown_stub); - lua_cod_getrawfile_hook.create(game::select(0x141F0F880, 0x1404BCB70), lua_cod_getrawfile_stub); + ui_cod_init_hook.create(game::UI_CoD_Init, ui_cod_init_stub); + ui_cod_lobbyui_init_hook.create(game::UI_CoD_LobbyUI_Init, ui_cod_lobbyui_init_stub); + ui_shutdown_hook.create(game::UI_CoD_Shutdown, ui_shutdown_stub); + lua_cod_getrawfile_hook.create(game::select(0x141F0EFE0, 0x1404BCB70), lua_cod_getrawfile_stub); if (game::is_server()) { @@ -507,4 +507,4 @@ namespace ui_scripting }; } -REGISTER_COMPONENT(ui_scripting::component) +REGISTER_COMPONENT_WORKING(ui_scripting::component) diff --git a/src/client/game/symbols.hpp b/src/client/game/symbols.hpp index 63ce0ff6..48f8b4bd 100644 --- a/src/client/game/symbols.hpp +++ b/src/client/game/symbols.hpp @@ -99,9 +99,9 @@ namespace game }; // UI - WEAK symbol UI_CoD_Init{0x141F29010, 0x0}; - WEAK symbol UI_CoD_LobbyUI_Init{0x141F2BD80, 0x0}; - WEAK symbol UI_CoD_Shutdown{0x141F32E10, 0x0}; + WEAK symbol UI_CoD_Init{0x141F29010, 0x1404A0A50}; + WEAK symbol UI_CoD_LobbyUI_Init{0x141F2BD80, 0x1404A1F50}; + WEAK symbol UI_CoD_Shutdown{0x141F32E10, 0x1404A1280}; WEAK symbol UI_AddMenu{0x1427018F0, 0x0}; WEAK symbol UI_CoD_GetRootNameForController{0x141F28940, 0x0}; WEAK symbol Lua_CoD_LoadLuaFile{0x141F11A20, 0x0}; From 025dc6d94547cb6ce61811f11a05333c75226cf2 Mon Sep 17 00:00:00 2001 From: BrentVL-1952840 <70229620+Brentdevent@users.noreply.github.com> Date: Sat, 4 Mar 2023 18:11:14 +0100 Subject: [PATCH 24/30] Remove comment --- src/client/component/scheduler.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/client/component/scheduler.cpp b/src/client/component/scheduler.cpp index fd6f7acf..b22dc659 100644 --- a/src/client/component/scheduler.cpp +++ b/src/client/component/scheduler.cpp @@ -172,7 +172,6 @@ namespace scheduler // some func called before R_EndFrame, maybe SND_EndFrame? } - //g_run_frame_hook.create(0x14065C360_g, server_frame_stub); // GlassSv_Update main_frame_hook.create(game::select(0x1420F8E00, 0x1405020E0), main_frame_stub); // Com_Frame_Try_Block_Function } From 1d54bfb6f6e04cf51d5669c8afa6e0c68f289ffa Mon Sep 17 00:00:00 2001 From: momo5502 Date: Sat, 4 Mar 2023 19:09:47 +0100 Subject: [PATCH 25/30] Fix extension --- src/client/component/extension.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/component/extension.cpp b/src/client/component/extension.cpp index c959296e..46784bca 100644 --- a/src/client/component/extension.cpp +++ b/src/client/component/extension.cpp @@ -37,4 +37,4 @@ namespace extension }; } -REGISTER_COMPONENT(extension::component) +REGISTER_COMPONENT_WORKING(extension::component) From 22e28fa0e71f4ea4b56be74053c513300954d836 Mon Sep 17 00:00:00 2001 From: BrentVL-1952840 <70229620+Brentdevent@users.noreply.github.com> Date: Sat, 4 Mar 2023 19:11:27 +0100 Subject: [PATCH 26/30] Fix wrong function hook --- src/client/component/ui_scripting.cpp | 2 +- src/client/game/symbols.hpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client/component/ui_scripting.cpp b/src/client/component/ui_scripting.cpp index b52d8136..c10e4c0a 100644 --- a/src/client/component/ui_scripting.cpp +++ b/src/client/component/ui_scripting.cpp @@ -456,7 +456,7 @@ namespace ui_scripting hks_package_require_hook.create(game::select(0x141D28EF0, 0x1403D7FC0), hks_package_require_stub); ui_cod_init_hook.create(game::UI_CoD_Init, ui_cod_init_stub); ui_cod_lobbyui_init_hook.create(game::UI_CoD_LobbyUI_Init, ui_cod_lobbyui_init_stub); - ui_shutdown_hook.create(game::UI_CoD_Shutdown, ui_shutdown_stub); + ui_shutdown_hook.create(game::select(0x14270DE00, 0x1404A1280), ui_shutdown_stub); lua_cod_getrawfile_hook.create(game::select(0x141F0EFE0, 0x1404BCB70), lua_cod_getrawfile_stub); if (game::is_server()) diff --git a/src/client/game/symbols.hpp b/src/client/game/symbols.hpp index 48f8b4bd..8365deac 100644 --- a/src/client/game/symbols.hpp +++ b/src/client/game/symbols.hpp @@ -101,7 +101,7 @@ namespace game // UI WEAK symbol UI_CoD_Init{0x141F29010, 0x1404A0A50}; WEAK symbol UI_CoD_LobbyUI_Init{0x141F2BD80, 0x1404A1F50}; - WEAK symbol UI_CoD_Shutdown{0x141F32E10, 0x1404A1280}; + WEAK symbol UI_CoD_Shutdown{0x141F32E10, 0x0}; WEAK symbol UI_AddMenu{0x1427018F0, 0x0}; WEAK symbol UI_CoD_GetRootNameForController{0x141F28940, 0x0}; WEAK symbol Lua_CoD_LoadLuaFile{0x141F11A20, 0x0}; From ef3c1186ce949e0f2eae6424f1261a8e309d2c61 Mon Sep 17 00:00:00 2001 From: momo5502 Date: Sun, 5 Mar 2023 10:31:35 +0100 Subject: [PATCH 27/30] Adjust colors component --- src/client/component/colors.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/client/component/colors.cpp b/src/client/component/colors.cpp index ec52aef4..d8319399 100644 --- a/src/client/component/colors.cpp +++ b/src/client/component/colors.cpp @@ -16,8 +16,8 @@ namespace colors template void patch_color(const uint8_t r, const uint8_t g, const uint8_t b, const uint8_t a = 255) { - auto* color_table = reinterpret_cast(0x142FF0E20_g); - auto* g_color_table = reinterpret_cast(0x142FB6CF0_g); + auto* color_table = reinterpret_cast(0x142FEFE20_g); + auto* g_color_table = reinterpret_cast(0x142FB5CF0_g); uint8_t color_int[4]; color_int[0] = r; @@ -36,7 +36,7 @@ namespace colors utils::hook::copy(g_color_table + index * 4, color_float, sizeof(color_float)); } - uint64_t get_player_name_stub(const uint64_t client, int client_num, char* buffer, const int size, + /*uint64_t get_player_name_stub(const uint64_t client, int client_num, char* buffer, const int size, const bool has_clan_tag) { const auto res = get_player_name_hook.invoke(client, client_num, buffer, size, has_clan_tag); @@ -48,12 +48,12 @@ namespace colors } return res; - } + }*/ - const char* get_gamer_tag_stub(const uint64_t num) + /*const char* get_gamer_tag_stub(const uint64_t num) { return utils::string::va("^3%s", get_gamer_tag_hook.invoke(num)); - } + }*/ } struct component final : client_component @@ -67,10 +67,11 @@ namespace colors patch_color<5>(32, 197, 255); // 5 - Light Blue patch_color<6>(151, 80, 221); // 6 - Pink + // Old addresses //get_player_name_hook.create(0x1413E3140_g, get_player_name_stub); //get_gamer_tag_hook.create(0x141EC7370_g, get_gamer_tag_stub); } }; } -REGISTER_COMPONENT(colors::component) +REGISTER_COMPONENT_WORKING(colors::component) From 4289d692a749f085fe1431d1278d90c839b37753 Mon Sep 17 00:00:00 2001 From: momo5502 Date: Sun, 5 Mar 2023 10:34:43 +0100 Subject: [PATCH 28/30] Adjust server components --- src/client/component/chat.cpp | 2 +- src/client/component/client_command.cpp | 2 +- src/client/component/console_command.cpp | 2 +- src/client/component/dedicated.cpp | 2 +- src/client/component/dedicated_info.cpp | 2 +- src/client/component/dedicated_patches.cpp | 2 +- src/client/component/discord.cpp | 2 +- src/client/component/game_log.cpp | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/client/component/chat.cpp b/src/client/component/chat.cpp index ce3a92ad..ab24fc3b 100644 --- a/src/client/component/chat.cpp +++ b/src/client/component/chat.cpp @@ -56,4 +56,4 @@ namespace chat }; } -REGISTER_COMPONENT(chat::component) +REGISTER_COMPONENT_WORKING(chat::component) diff --git a/src/client/component/client_command.cpp b/src/client/component/client_command.cpp index 9456471b..f0b9b003 100644 --- a/src/client/component/client_command.cpp +++ b/src/client/component/client_command.cpp @@ -54,4 +54,4 @@ namespace client_command }; } -REGISTER_COMPONENT(client_command::component) +REGISTER_COMPONENT_WORKING(client_command::component) diff --git a/src/client/component/console_command.cpp b/src/client/component/console_command.cpp index fbccc117..f846d663 100644 --- a/src/client/component/console_command.cpp +++ b/src/client/component/console_command.cpp @@ -48,4 +48,4 @@ namespace console_command }; } -REGISTER_COMPONENT(console_command::component) +REGISTER_COMPONENT_WORKING(console_command::component) diff --git a/src/client/component/dedicated.cpp b/src/client/component/dedicated.cpp index 6a5cde7f..0d8d0d9c 100644 --- a/src/client/component/dedicated.cpp +++ b/src/client/component/dedicated.cpp @@ -73,4 +73,4 @@ namespace dedicated }; } -REGISTER_COMPONENT(dedicated::component) +REGISTER_COMPONENT_WORKING(dedicated::component) diff --git a/src/client/component/dedicated_info.cpp b/src/client/component/dedicated_info.cpp index 1e36c58b..f76238f3 100644 --- a/src/client/component/dedicated_info.cpp +++ b/src/client/component/dedicated_info.cpp @@ -51,4 +51,4 @@ namespace dedicated_info }; } -REGISTER_COMPONENT(dedicated_info::component) +REGISTER_COMPONENT_WORKING(dedicated_info::component) diff --git a/src/client/component/dedicated_patches.cpp b/src/client/component/dedicated_patches.cpp index 0592acc1..22a244f1 100644 --- a/src/client/component/dedicated_patches.cpp +++ b/src/client/component/dedicated_patches.cpp @@ -92,4 +92,4 @@ namespace dedicated_patches }; } -REGISTER_COMPONENT(dedicated_patches::component) +REGISTER_COMPONENT_WORKING(dedicated_patches::component) diff --git a/src/client/component/discord.cpp b/src/client/component/discord.cpp index 421fe889..82719136 100644 --- a/src/client/component/discord.cpp +++ b/src/client/component/discord.cpp @@ -67,5 +67,5 @@ namespace discord } #ifndef DEV_BUILD -REGISTER_COMPONENT(discord::component) +REGISTER_COMPONENT_WORKING(discord::component) #endif diff --git a/src/client/component/game_log.cpp b/src/client/component/game_log.cpp index d36d39c7..b52abd76 100644 --- a/src/client/component/game_log.cpp +++ b/src/client/component/game_log.cpp @@ -68,4 +68,4 @@ namespace game_log }; } -REGISTER_COMPONENT(game_log::component) +REGISTER_COMPONENT_WORKING(game_log::component) From 2872dbf6a2a67923822c5b248826cf0215efdb99 Mon Sep 17 00:00:00 2001 From: momo5502 Date: Sun, 5 Mar 2023 10:39:12 +0100 Subject: [PATCH 29/30] Fix more addresses and components --- src/client/component/intro.cpp | 2 +- src/client/game/symbols.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client/component/intro.cpp b/src/client/component/intro.cpp index f207699d..164817e5 100644 --- a/src/client/component/intro.cpp +++ b/src/client/component/intro.cpp @@ -33,5 +33,5 @@ namespace intro } #ifdef DEV_BUILD -REGISTER_COMPONENT(intro::component) +REGISTER_COMPONENT_WORKING(intro::component) #endif diff --git a/src/client/game/symbols.cpp b/src/client/game/symbols.cpp index 4c406139..fb36ce71 100644 --- a/src/client/game/symbols.cpp +++ b/src/client/game/symbols.cpp @@ -6,7 +6,7 @@ namespace game { eModes Com_SessionMode_GetMode() { - return eModes(*reinterpret_cast(game::select(0x1568EF7F4, 0x14948DB04)) << 28 >> 28); + return eModes(*reinterpret_cast(game::select(0x1568ED7F4, 0x14948DB04)) << 28 >> 28); } bool I_islower(int c) From 7b65522186e8f540efa991f1f3ad4bacbb00cfc2 Mon Sep 17 00:00:00 2001 From: momo5502 Date: Sun, 5 Mar 2023 10:47:12 +0100 Subject: [PATCH 30/30] Switch back to register component as all components have been adjusted --- src/client/component/arxan.cpp | 2 +- src/client/component/auth.cpp | 2 +- src/client/component/bots.cpp | 2 +- src/client/component/branding.cpp | 2 +- src/client/component/chat.cpp | 2 +- src/client/component/client_command.cpp | 2 +- src/client/component/client_patches.cpp | 2 +- src/client/component/colors.cpp | 2 +- src/client/component/command.cpp | 2 +- src/client/component/console.cpp | 2 +- src/client/component/console_command.cpp | 2 +- src/client/component/dedicated.cpp | 2 +- src/client/component/dedicated_info.cpp | 2 +- src/client/component/dedicated_patches.cpp | 2 +- src/client/component/demonware.cpp | 2 +- src/client/component/discord.cpp | 2 +- src/client/component/dvars.cpp | 2 +- src/client/component/exception.cpp | 2 +- src/client/component/extension.cpp | 2 +- src/client/component/game_log.cpp | 2 +- src/client/component/getinfo.cpp | 2 +- src/client/component/intro.cpp | 2 +- src/client/component/loot.cpp | 2 +- src/client/component/network.cpp | 2 +- src/client/component/party.cpp | 2 +- src/client/component/patches.cpp | 2 +- src/client/component/scheduler.cpp | 2 +- src/client/component/script.cpp | 2 +- src/client/component/server_list.cpp | 2 +- src/client/component/splash.cpp | 2 +- src/client/component/steam_proxy.cpp | 2 +- src/client/component/ui_scripting.cpp | 2 +- src/client/component/updater.cpp | 2 +- src/client/loader/component_loader.hpp | 4 +--- 34 files changed, 34 insertions(+), 36 deletions(-) diff --git a/src/client/component/arxan.cpp b/src/client/component/arxan.cpp index a135cd40..c99b3d45 100644 --- a/src/client/component/arxan.cpp +++ b/src/client/component/arxan.cpp @@ -800,4 +800,4 @@ namespace arxan }; } -REGISTER_COMPONENT_WORKING(arxan::component) +REGISTER_COMPONENT(arxan::component) diff --git a/src/client/component/auth.cpp b/src/client/component/auth.cpp index 55a7def0..a8ccb7ee 100644 --- a/src/client/component/auth.cpp +++ b/src/client/component/auth.cpp @@ -165,4 +165,4 @@ namespace auth }; } -REGISTER_COMPONENT_WORKING(auth::component) +REGISTER_COMPONENT(auth::component) diff --git a/src/client/component/bots.cpp b/src/client/component/bots.cpp index e07aa9b8..2f334f62 100644 --- a/src/client/component/bots.cpp +++ b/src/client/component/bots.cpp @@ -157,4 +157,4 @@ namespace bots }; } -REGISTER_COMPONENT_WORKING(bots::component) +REGISTER_COMPONENT(bots::component) diff --git a/src/client/component/branding.cpp b/src/client/component/branding.cpp index c5539723..dc8a48d6 100644 --- a/src/client/component/branding.cpp +++ b/src/client/component/branding.cpp @@ -34,4 +34,4 @@ namespace branding }; } -REGISTER_COMPONENT_WORKING(branding::component) +REGISTER_COMPONENT(branding::component) diff --git a/src/client/component/chat.cpp b/src/client/component/chat.cpp index ab24fc3b..ce3a92ad 100644 --- a/src/client/component/chat.cpp +++ b/src/client/component/chat.cpp @@ -56,4 +56,4 @@ namespace chat }; } -REGISTER_COMPONENT_WORKING(chat::component) +REGISTER_COMPONENT(chat::component) diff --git a/src/client/component/client_command.cpp b/src/client/component/client_command.cpp index f0b9b003..9456471b 100644 --- a/src/client/component/client_command.cpp +++ b/src/client/component/client_command.cpp @@ -54,4 +54,4 @@ namespace client_command }; } -REGISTER_COMPONENT_WORKING(client_command::component) +REGISTER_COMPONENT(client_command::component) diff --git a/src/client/component/client_patches.cpp b/src/client/component/client_patches.cpp index e2f71ebc..decf144d 100644 --- a/src/client/component/client_patches.cpp +++ b/src/client/component/client_patches.cpp @@ -86,4 +86,4 @@ namespace client_patches }; } -REGISTER_COMPONENT_WORKING(client_patches::component) +REGISTER_COMPONENT(client_patches::component) diff --git a/src/client/component/colors.cpp b/src/client/component/colors.cpp index d8319399..306c44b6 100644 --- a/src/client/component/colors.cpp +++ b/src/client/component/colors.cpp @@ -74,4 +74,4 @@ namespace colors }; } -REGISTER_COMPONENT_WORKING(colors::component) +REGISTER_COMPONENT(colors::component) diff --git a/src/client/component/command.cpp b/src/client/component/command.cpp index c5d8b35b..333d1087 100644 --- a/src/client/component/command.cpp +++ b/src/client/component/command.cpp @@ -194,4 +194,4 @@ namespace command } } -REGISTER_COMPONENT_WORKING(command::component) +REGISTER_COMPONENT(command::component) diff --git a/src/client/component/console.cpp b/src/client/component/console.cpp index 706ad825..c1975ae6 100644 --- a/src/client/component/console.cpp +++ b/src/client/component/console.cpp @@ -299,4 +299,4 @@ namespace console }; } -REGISTER_COMPONENT_WORKING(console::component) +REGISTER_COMPONENT(console::component) diff --git a/src/client/component/console_command.cpp b/src/client/component/console_command.cpp index f846d663..fbccc117 100644 --- a/src/client/component/console_command.cpp +++ b/src/client/component/console_command.cpp @@ -48,4 +48,4 @@ namespace console_command }; } -REGISTER_COMPONENT_WORKING(console_command::component) +REGISTER_COMPONENT(console_command::component) diff --git a/src/client/component/dedicated.cpp b/src/client/component/dedicated.cpp index 0d8d0d9c..6a5cde7f 100644 --- a/src/client/component/dedicated.cpp +++ b/src/client/component/dedicated.cpp @@ -73,4 +73,4 @@ namespace dedicated }; } -REGISTER_COMPONENT_WORKING(dedicated::component) +REGISTER_COMPONENT(dedicated::component) diff --git a/src/client/component/dedicated_info.cpp b/src/client/component/dedicated_info.cpp index f76238f3..1e36c58b 100644 --- a/src/client/component/dedicated_info.cpp +++ b/src/client/component/dedicated_info.cpp @@ -51,4 +51,4 @@ namespace dedicated_info }; } -REGISTER_COMPONENT_WORKING(dedicated_info::component) +REGISTER_COMPONENT(dedicated_info::component) diff --git a/src/client/component/dedicated_patches.cpp b/src/client/component/dedicated_patches.cpp index 22a244f1..0592acc1 100644 --- a/src/client/component/dedicated_patches.cpp +++ b/src/client/component/dedicated_patches.cpp @@ -92,4 +92,4 @@ namespace dedicated_patches }; } -REGISTER_COMPONENT_WORKING(dedicated_patches::component) +REGISTER_COMPONENT(dedicated_patches::component) diff --git a/src/client/component/demonware.cpp b/src/client/component/demonware.cpp index d31f85ec..dd868173 100644 --- a/src/client/component/demonware.cpp +++ b/src/client/component/demonware.cpp @@ -515,4 +515,4 @@ namespace demonware }; } -REGISTER_COMPONENT_WORKING(demonware::component) +REGISTER_COMPONENT(demonware::component) diff --git a/src/client/component/discord.cpp b/src/client/component/discord.cpp index 82719136..421fe889 100644 --- a/src/client/component/discord.cpp +++ b/src/client/component/discord.cpp @@ -67,5 +67,5 @@ namespace discord } #ifndef DEV_BUILD -REGISTER_COMPONENT_WORKING(discord::component) +REGISTER_COMPONENT(discord::component) #endif diff --git a/src/client/component/dvars.cpp b/src/client/component/dvars.cpp index c8173948..8bf1b58c 100644 --- a/src/client/component/dvars.cpp +++ b/src/client/component/dvars.cpp @@ -221,4 +221,4 @@ namespace dvars }; } -REGISTER_COMPONENT_WORKING(dvars::component) +REGISTER_COMPONENT(dvars::component) diff --git a/src/client/component/exception.cpp b/src/client/component/exception.cpp index e25f65c8..98c4e7f9 100644 --- a/src/client/component/exception.cpp +++ b/src/client/component/exception.cpp @@ -212,4 +212,4 @@ namespace exception }; } -REGISTER_COMPONENT_WORKING(exception::component) +REGISTER_COMPONENT(exception::component) diff --git a/src/client/component/extension.cpp b/src/client/component/extension.cpp index 46784bca..c959296e 100644 --- a/src/client/component/extension.cpp +++ b/src/client/component/extension.cpp @@ -37,4 +37,4 @@ namespace extension }; } -REGISTER_COMPONENT_WORKING(extension::component) +REGISTER_COMPONENT(extension::component) diff --git a/src/client/component/game_log.cpp b/src/client/component/game_log.cpp index b52abd76..d36d39c7 100644 --- a/src/client/component/game_log.cpp +++ b/src/client/component/game_log.cpp @@ -68,4 +68,4 @@ namespace game_log }; } -REGISTER_COMPONENT_WORKING(game_log::component) +REGISTER_COMPONENT(game_log::component) diff --git a/src/client/component/getinfo.cpp b/src/client/component/getinfo.cpp index 36c34aab..1deb6826 100644 --- a/src/client/component/getinfo.cpp +++ b/src/client/component/getinfo.cpp @@ -119,4 +119,4 @@ namespace getinfo }; } -REGISTER_COMPONENT_WORKING(getinfo::component) +REGISTER_COMPONENT(getinfo::component) diff --git a/src/client/component/intro.cpp b/src/client/component/intro.cpp index 164817e5..f207699d 100644 --- a/src/client/component/intro.cpp +++ b/src/client/component/intro.cpp @@ -33,5 +33,5 @@ namespace intro } #ifdef DEV_BUILD -REGISTER_COMPONENT_WORKING(intro::component) +REGISTER_COMPONENT(intro::component) #endif diff --git a/src/client/component/loot.cpp b/src/client/component/loot.cpp index b675cc62..b60de531 100644 --- a/src/client/component/loot.cpp +++ b/src/client/component/loot.cpp @@ -76,4 +76,4 @@ namespace loot }; }; -REGISTER_COMPONENT_WORKING(loot::component) +REGISTER_COMPONENT(loot::component) diff --git a/src/client/component/network.cpp b/src/client/component/network.cpp index 77847a20..8f035ceb 100644 --- a/src/client/component/network.cpp +++ b/src/client/component/network.cpp @@ -269,4 +269,4 @@ namespace network }; } -REGISTER_COMPONENT_WORKING(network::component) +REGISTER_COMPONENT(network::component) diff --git a/src/client/component/party.cpp b/src/client/component/party.cpp index 4065c3ef..365b134b 100644 --- a/src/client/component/party.cpp +++ b/src/client/component/party.cpp @@ -313,4 +313,4 @@ namespace party }; } -REGISTER_COMPONENT_WORKING(party::component) +REGISTER_COMPONENT(party::component) diff --git a/src/client/component/patches.cpp b/src/client/component/patches.cpp index 54ce700c..abe3c552 100644 --- a/src/client/component/patches.cpp +++ b/src/client/component/patches.cpp @@ -33,4 +33,4 @@ namespace patches }; } -REGISTER_COMPONENT_WORKING(patches::component) +REGISTER_COMPONENT(patches::component) diff --git a/src/client/component/scheduler.cpp b/src/client/component/scheduler.cpp index b22dc659..d4ac94b8 100644 --- a/src/client/component/scheduler.cpp +++ b/src/client/component/scheduler.cpp @@ -187,4 +187,4 @@ namespace scheduler }; } -REGISTER_COMPONENT_WORKING(scheduler::component) +REGISTER_COMPONENT(scheduler::component) diff --git a/src/client/component/script.cpp b/src/client/component/script.cpp index b32c4b19..7bdc3241 100644 --- a/src/client/component/script.cpp +++ b/src/client/component/script.cpp @@ -134,4 +134,4 @@ namespace script }; }; -REGISTER_COMPONENT_WORKING(script::component) +REGISTER_COMPONENT(script::component) diff --git a/src/client/component/server_list.cpp b/src/client/component/server_list.cpp index 7e008c0f..7bcff98e 100644 --- a/src/client/component/server_list.cpp +++ b/src/client/component/server_list.cpp @@ -145,4 +145,4 @@ namespace server_list }; } -REGISTER_COMPONENT_WORKING(server_list::component) +REGISTER_COMPONENT(server_list::component) diff --git a/src/client/component/splash.cpp b/src/client/component/splash.cpp index 426618ae..b86f2f6d 100644 --- a/src/client/component/splash.cpp +++ b/src/client/component/splash.cpp @@ -195,4 +195,4 @@ namespace splash } } -REGISTER_COMPONENT_WORKING(splash::component) +REGISTER_COMPONENT(splash::component) diff --git a/src/client/component/steam_proxy.cpp b/src/client/component/steam_proxy.cpp index 7457664a..568a9d97 100644 --- a/src/client/component/steam_proxy.cpp +++ b/src/client/component/steam_proxy.cpp @@ -317,4 +317,4 @@ namespace steam_proxy } } -REGISTER_COMPONENT_WORKING(steam_proxy::component) +REGISTER_COMPONENT(steam_proxy::component) diff --git a/src/client/component/ui_scripting.cpp b/src/client/component/ui_scripting.cpp index c10e4c0a..9152e16b 100644 --- a/src/client/component/ui_scripting.cpp +++ b/src/client/component/ui_scripting.cpp @@ -507,4 +507,4 @@ namespace ui_scripting }; } -REGISTER_COMPONENT_WORKING(ui_scripting::component) +REGISTER_COMPONENT(ui_scripting::component) diff --git a/src/client/component/updater.cpp b/src/client/component/updater.cpp index 8207e3a7..63a0230a 100644 --- a/src/client/component/updater.cpp +++ b/src/client/component/updater.cpp @@ -63,4 +63,4 @@ namespace updater }; } -REGISTER_COMPONENT_WORKING(updater::component) +REGISTER_COMPONENT(updater::component) diff --git a/src/client/loader/component_loader.hpp b/src/client/loader/component_loader.hpp index 7f2e9970..4d25d089 100644 --- a/src/client/loader/component_loader.hpp +++ b/src/client/loader/component_loader.hpp @@ -38,10 +38,8 @@ namespace component_loader }; }; -#define REGISTER_COMPONENT_WORKING(name) \ +#define REGISTER_COMPONENT(name) \ namespace \ { \ component_loader::installer __component; \ } - -#define REGISTER_COMPONENT(name)