From 9a1f0f6040b8d96b3d7642e2b72d2b20387e101f Mon Sep 17 00:00:00 2001 From: yamashi Date: Tue, 8 Nov 2022 18:19:18 +0100 Subject: [PATCH] Updated addresses (ty psiberx) --- ida/patterns.py | 4 +-- src/Image.cpp | 3 +- src/Image.h | 2 +- src/reverse/Addresses.h | 68 ++++++++++++++++++++--------------------- 4 files changed, 39 insertions(+), 38 deletions(-) diff --git a/ida/patterns.py b/ida/patterns.py index acea29e0..9a5474fa 100644 --- a/ida/patterns.py +++ b/ida/patterns.py @@ -33,7 +33,7 @@ def get_groups() -> List[Group]: Item(name='_DoNotUse_RenderQueueOffset', pattern='49 39 29 0F 84 ? ? ? ? 41 39 69 24 0F 84 ? ? ? ? 49 8B 95', expected=1) ], functions=[ Item(name='Resize', pattern='44 88 4C 24 20 44 89 44 24 18 89 54 24 10 89 4C', expected=1) , - Item(name='Shutdown', pattern='48 89 6C 24 20 41 56 48 83 EC 20 48 8D 05 3E 85 99 00', expected=1) + Item(name='Shutdown', pattern='48 89 6C 24 20 41 56 48 83 EC 20 48 8D 05', expected=1) ]), Group(name='CRenderNode_Present', functions=[ Item(name='DoInternal', pattern='48 89 5C 24 08 48 89 6C 24 18 48 89 74 24 20 57 41 56 41 57 48 83 EC 30 8B 01 41 8B F8 4C 8B 35', expected=1) @@ -79,7 +79,7 @@ def get_groups() -> List[Group]: Item(name='Main', pattern='40 57 48 83 EC 70 48 8B F9 0F 29 7C 24 50 48 8D 4C 24 38', expected=1) ]), Group(name='PlayerSystem', functions=[ - Item(name='OnPlayerSpawned', pattern='48 8B C4 4C 89 48 20 55 56 57 48 8B EC 48 81 EC 80 00 00 00 44 8B 15 25 60 54 02 48 8B F1', expected=1) + Item(name='OnPlayerSpawned', pattern='48 8B C4 4C 89 48 20 55 56 57 48 8B EC 48 81 EC 80 00 00 00', expected=1) ]), ] diff --git a/src/Image.cpp b/src/Image.cpp index d91242ef..4bf3a04d 100644 --- a/src/Image.cpp +++ b/src/Image.cpp @@ -36,7 +36,8 @@ void Image::Initialize() {{0xDB, 0xE2, 0xBB, 0x94, 0x3B, 0x18, 0xB0, 0x4C, 0xAB, 0x56, 0xB6, 0xB8, 0x9A, 0x7E, 0xD2, 0xA5}, MakeVersion(1, 5002)}, {{0xB0, 0x99, 0x3F, 0x8E, 0xB2, 0x57, 0x46, 0x41, 0xA3, 0x77, 0x3B, 0x98, 0x97, 0x15, 0xC4, 0xBB}, MakeVersion(1, 52)}, {{0x69, 0x41, 0x44, 0x27, 0xDB, 0x02, 0x65, 0x4B, 0xA5, 0x7F, 0x5B, 0x1C, 0xD6, 0x79, 0x94, 0x32}, MakeVersion(1, 52)}, // Exclusive steam patch - {{0x4E, 0xE9, 0x22, 0x2A, 0x9D, 0xB5, 0xC6, 0x40, 0xA7, 0xD4, 0xAB, 0x3B, 0xCA, 0x7C, 0x30, 0x06}, MakeVersion(1, 60)} + {{0x4E, 0xE9, 0x22, 0x2A, 0x9D, 0xB5, 0xC6, 0x40, 0xA7, 0xD4, 0xAB, 0x3B, 0xCA, 0x7C, 0x30, 0x06}, MakeVersion(1, 60)}, + {{0x75, 0xF0, 0x99, 0xC1, 0x83, 0x84, 0xF9, 0x43, 0x95, 0x00, 0x4E, 0x7D, 0x93, 0x73, 0x84, 0xDF}, MakeVersion(1, 61)} }; mem::module mainModule = mem::module::main(); diff --git a/src/Image.h b/src/Image.h index 5c52adc8..dbbf50d0 100644 --- a/src/Image.h +++ b/src/Image.h @@ -6,7 +6,7 @@ struct Image static std::tuple GetSupportedVersion() noexcept { - return std::make_tuple(1, 60); + return std::make_tuple(1, 61); } static uint64_t MakeVersion(const uint32_t acMajor, const uint16_t acMinor) noexcept diff --git a/src/reverse/Addresses.h b/src/reverse/Addresses.h index f0709ebd..6467aebc 100644 --- a/src/reverse/Addresses.h +++ b/src/reverse/Addresses.h @@ -8,68 +8,68 @@ */ #include -// Addresses for Cyberpunk 2077, version 1.6. +// Addresses for Cyberpunk 2077, version 1.61. namespace CyberEngineTweaks::Addresses { constexpr uintptr_t ImageBase = 0x140000000; #pragma region CGame -constexpr uintptr_t CGame_Main = 0x140A74D00 - ImageBase; // 40 57 48 83 EC 70 48 8B F9 0F 29 7C 24 50 48 8D 4C 24 38, expected: 1, index: 0 +constexpr uintptr_t CGame_Main = 0x140A750D0 - ImageBase; // 40 57 48 83 EC 70 48 8B F9 0F 29 7C 24 50 48 8D 4C 24 38, expected: 1, index: 0 #pragma endregion #pragma region CPatches -constexpr uintptr_t CPatches_BoundaryTeleport = 0x141B2BD90 - ImageBase; // 48 8B C4 55 53 41 54 48 8D A8 ? ? ? ? 48 81 EC ? ? ? ? 48 89 70 10 48 8D 59 48, expected: 1, index: 0 -constexpr uintptr_t CPatches_IntroMovie = 0x1401FEAD0 - ImageBase; // 48 89 5C 24 08 57 48 83 EC 20 48 8B 44 24 50 48 8B D9 48 89 41 08, expected: 1, index: 0 -constexpr uintptr_t CPatches_Vignette = 0x14117BD90 - ImageBase; // 48 8B 41 30 48 83 78 68 00 74, expected: 1, index: 0 -constexpr uintptr_t CPatches_MinimapFlicker = 0x1425A9BDD - ImageBase; // 83 79 2C 00 48 8B F2 4C, expected: 1, index: 0 -constexpr uintptr_t CPatches_OptionsInit = 0x142BED260 - ImageBase; // 40 53 48 83 EC 40 48 8B D9 48 8D 4C 24 20 E8 ? ? ? ? E8 ? ? ? ? 4C 8B 43 08, expected: 1, index: 0 -constexpr uintptr_t CPatches_SkipStartScreen = 0x142A1FDF0 - ImageBase; // 74 5F E8 ? ? ? ? 48 8D 4C 24 20 8B D8 E8 ? ? ? ? 48 8B C8 8B D3 E8, expected: 2, index: 1 -constexpr uintptr_t CPatches_AmdSMT = 0x142B95EEB - ImageBase; // 75 2D 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08, expected: 1, index: 0 +constexpr uintptr_t CPatches_BoundaryTeleport = 0x141B2BE80 - ImageBase; // 48 8B C4 55 53 41 54 48 8D A8 ? ? ? ? 48 81 EC ? ? ? ? 48 89 70 10 48 8D 59 48, expected: 1, index: 0 +constexpr uintptr_t CPatches_IntroMovie = 0x1401FF080 - ImageBase; // 48 89 5C 24 08 57 48 83 EC 20 48 8B 44 24 50 48 8B D9 48 89 41 08, expected: 1, index: 0 +constexpr uintptr_t CPatches_Vignette = 0x14117C480 - ImageBase; // 48 8B 41 30 48 83 78 68 00 74, expected: 1, index: 0 +constexpr uintptr_t CPatches_MinimapFlicker = 0x1425AAB5D - ImageBase; // 83 79 2C 00 48 8B F2 4C, expected: 1, index: 0 +constexpr uintptr_t CPatches_OptionsInit = 0x142BF2600 - ImageBase; // 40 53 48 83 EC 40 48 8B D9 48 8D 4C 24 20 E8 ? ? ? ? E8 ? ? ? ? 4C 8B 43 08, expected: 1, index: 0 +constexpr uintptr_t CPatches_SkipStartScreen = 0x142A25180 - ImageBase; // 74 5F E8 ? ? ? ? 48 8D 4C 24 20 8B D8 E8 ? ? ? ? 48 8B C8 8B D3 E8, expected: 2, index: 1 +constexpr uintptr_t CPatches_AmdSMT = 0x142B9B28B - ImageBase; // 75 2D 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08, expected: 1, index: 0 #pragma endregion #pragma region CPhotoMode -constexpr uintptr_t CPhotoMode_SetRecordID = 0x142DBB7E0 - ImageBase; // 48 8B C4 55 57 48 8D 68 A1 48 81 EC 98 00 00 00 48 89 58 08 48 8B D9 48 89 70 18 48 8D 4D 27 48, expected: 1, index: 0 +constexpr uintptr_t CPhotoMode_SetRecordID = 0x142DC0CC0 - ImageBase; // 48 8B C4 55 57 48 8D 68 A1 48 81 EC 98 00 00 00 48 89 58 08 48 8B D9 48 89 70 18 48 8D 4D 27 48, expected: 1, index: 0 #pragma endregion #pragma region CRenderGlobal -constexpr uintptr_t CRenderGlobal_InstanceOffset = 0x144DD6FB0 - ImageBase; // 48 89 5C 24 08 48 89 6C 24 18 48 89 74 24 20 57 41 56 41 57 48 83 EC 30 8B 01 41 8B F8 4C 8B 35, expected: 1, index: 0, offset: 32 -constexpr uintptr_t CRenderGlobal__DoNotUse_RenderQueueOffset = 0x151F68149 - ImageBase; // 49 39 29 0F 84 ? ? ? ? 41 39 69 24 0F 84 ? ? ? ? 49 8B 95, expected: 1, index: 0, offset: 0 -constexpr uintptr_t CRenderGlobal_Resize = 0x142CDCA30 - ImageBase; // 44 88 4C 24 20 44 89 44 24 18 89 54 24 10 89 4C, expected: 1, index: 0 -constexpr uintptr_t CRenderGlobal_Shutdown = 0x142CC71A0 - ImageBase; // 48 89 6C 24 20 41 56 48 83 EC 20 48 8D 05 3E 85 99 00, expected: 1, index: 0 +constexpr uintptr_t CRenderGlobal_InstanceOffset = 0x144DDDDF0 - ImageBase; // 48 89 5C 24 08 48 89 6C 24 18 48 89 74 24 20 57 41 56 41 57 48 83 EC 30 8B 01 41 8B F8 4C 8B 35, expected: 1, index: 0, offset: 32 +constexpr uintptr_t CRenderGlobal__DoNotUse_RenderQueueOffset = 0x151F6D589 - ImageBase; // 49 39 29 0F 84 ? ? ? ? 41 39 69 24 0F 84 ? ? ? ? 49 8B 95, expected: 1, index: 0, offset: 0 +constexpr uintptr_t CRenderGlobal_Resize = 0x142CE1EA0 - ImageBase; // 44 88 4C 24 20 44 89 44 24 18 89 54 24 10 89 4C, expected: 1, index: 0 +constexpr uintptr_t CRenderGlobal_Shutdown = 0x142CCC550 - ImageBase; // 48 89 6C 24 20 41 56 48 83 EC 20 48 8D 05, expected: 1, index: 0 #pragma endregion #pragma region CRenderNode_Present -constexpr uintptr_t CRenderNode_Present_DoInternal = 0x142CDEFC0 - ImageBase; // 48 89 5C 24 08 48 89 6C 24 18 48 89 74 24 20 57 41 56 41 57 48 83 EC 30 8B 01 41 8B F8 4C 8B 35, expected: 1, index: 0 +constexpr uintptr_t CRenderNode_Present_DoInternal = 0x142CE4450 - ImageBase; // 48 89 5C 24 08 48 89 6C 24 18 48 89 74 24 20 57 41 56 41 57 48 83 EC 30 8B 01 41 8B F8 4C 8B 35, expected: 1, index: 0 #pragma endregion #pragma region CScript -constexpr uintptr_t CScript_RunPureScript = 0x14020B410 - ImageBase; // 40 55 48 81 EC D0 00 00 00 48 8D 6C 24 40 8B, expected: 1, index: 0 -constexpr uintptr_t CScript_AllocateFunction = 0x1401ABB40 - ImageBase; // BA B8 00 00 00 48 8D 4D D7 E8, expected: 3, index: 0 -constexpr uintptr_t CScript_Log = 0x1401ED690 - ImageBase; // 40 53 48 83 EC ? 48 8D 4C 24 20 48 8B DA E8 ? ? ? ? 33 D2 48 8D 4C 24 40 E8, expected: 1, index: 0 -constexpr uintptr_t CScript_ToStringDEBUG = 0x140BD4D30 - ImageBase; // 48 89 5C 24 08 57 48 83 EC 20 FE 42 62 4C 8D 15 ? ? ? ? 33 C9 33 C0, expected: 4, index: 2 -constexpr uintptr_t CScript_LogChannel = 0x1401ED730 - ImageBase; // 4C 8B DC 49 89 5B 08 49 89 73 18 57 48 83 EC 70 48 8B 02 ? ? ? ? ? ? ? FE 42 62 4D 8D 43 10 33 FF 45 33 C9 49 89 7B 10 48 8B DA 48 89 7A, expected: 1, index: 0 -constexpr uintptr_t CScript_TDBIDConstructorDerive = 0x142BE62D0 - ImageBase; // 40 53 48 83 EC 30 33 C0 4C 89 44 24 20 48 8B DA, expected: 1, index: 0 -constexpr uintptr_t CScript_ProcessRunningState = 0x140A72C10 - ImageBase; // 40 53 48 83 EC 20 48 8B 0D ? ? ? ? 48 8B DA E8 ? ? ? ? 84 C0, expected: 1, index: 0 -constexpr uintptr_t CScript_ProcessShutdownState = 0x140A72D20 - ImageBase; // 48 89 6C 24 18 56 48 83 EC 30 48 8B 0D ? ? ? ?, expected: 1, index: 0 -constexpr uintptr_t CScript_TranslateBytecode = 0x14027AB20 - ImageBase; // 4C 8B DC 55 53 57 41 55 49 8D 6B A1 48 81 EC 98 00 00 00 48 8B 1A 4C 8B E9 8B 42 0C 48 8D 3C C3, expected: 1, index: 0 -constexpr uintptr_t CScript_TweakDBLoad = 0x140BD3060 - ImageBase; // 48 89 5C 24 18 55 57 41 56 48 8B EC 48 83 EC 70 48 8B D9 45 33 F6 48 8D, expected: 1, index: 0 -constexpr uintptr_t CScript_RegisterMemberFunction = 0x14020A700 - ImageBase; // 48 89 5C 24 08 57 48 83 EC 20 49 8B C1 4D 8B D0 44 8B 4C 24 58 48 8B DA 41 83 C9 03, expected: 1, index: 0 +constexpr uintptr_t CScript_RunPureScript = 0x14020B9C0 - ImageBase; // 40 55 48 81 EC D0 00 00 00 48 8D 6C 24 40 8B, expected: 1, index: 0 +constexpr uintptr_t CScript_AllocateFunction = 0x1401AC0F0 - ImageBase; // BA B8 00 00 00 48 8D 4D D7 E8, expected: 3, index: 0 +constexpr uintptr_t CScript_Log = 0x1401EDC40 - ImageBase; // 40 53 48 83 EC ? 48 8D 4C 24 20 48 8B DA E8 ? ? ? ? 33 D2 48 8D 4C 24 40 E8, expected: 1, index: 0 +constexpr uintptr_t CScript_ToStringDEBUG = 0x140BD5400 - ImageBase; // 48 89 5C 24 08 57 48 83 EC 20 FE 42 62 4C 8D 15 ? ? ? ? 33 C9 33 C0, expected: 4, index: 2 +constexpr uintptr_t CScript_LogChannel = 0x1401EDCE0 - ImageBase; // 4C 8B DC 49 89 5B 08 49 89 73 18 57 48 83 EC 70 48 8B 02 ? ? ? ? ? ? ? FE 42 62 4D 8D 43 10 33 FF 45 33 C9 49 89 7B 10 48 8B DA 48 89 7A, expected: 1, index: 0 +constexpr uintptr_t CScript_TDBIDConstructorDerive = 0x142BEB670 - ImageBase; // 40 53 48 83 EC 30 33 C0 4C 89 44 24 20 48 8B DA, expected: 1, index: 0 +constexpr uintptr_t CScript_ProcessRunningState = 0x140A72FE0 - ImageBase; // 40 53 48 83 EC 20 48 8B 0D ? ? ? ? 48 8B DA E8 ? ? ? ? 84 C0, expected: 1, index: 0 +constexpr uintptr_t CScript_ProcessShutdownState = 0x140A730F0 - ImageBase; // 48 89 6C 24 18 56 48 83 EC 30 48 8B 0D ? ? ? ?, expected: 1, index: 0 +constexpr uintptr_t CScript_TranslateBytecode = 0x14027B0D0 - ImageBase; // 4C 8B DC 55 53 57 41 55 49 8D 6B A1 48 81 EC 98 00 00 00 48 8B 1A 4C 8B E9 8B 42 0C 48 8D 3C C3, expected: 1, index: 0 +constexpr uintptr_t CScript_TweakDBLoad = 0x140BD3730 - ImageBase; // 48 89 5C 24 18 55 57 41 56 48 8B EC 48 83 EC 70 48 8B D9 45 33 F6 48 8D, expected: 1, index: 0 +constexpr uintptr_t CScript_RegisterMemberFunction = 0x14020ACB0 - ImageBase; // 48 89 5C 24 08 57 48 83 EC 20 49 8B C1 4D 8B D0 44 8B 4C 24 58 48 8B DA 41 83 C9 03, expected: 1, index: 0 #pragma endregion #pragma region CWinapi -constexpr uintptr_t CWinapi_ClipToCenter = 0x14078BA80 - ImageBase; // 48 89 5C 24 08 57 48 83 EC 30 48 8B 99 ? 01 00 00 48 8B F9 FF, expected: 1, index: 0 +constexpr uintptr_t CWinapi_ClipToCenter = 0x14078BE70 - ImageBase; // 48 89 5C 24 08 57 48 83 EC 30 48 8B 99 ? 01 00 00 48 8B F9 FF, expected: 1, index: 0 #pragma endregion #pragma region gameIGameSystem -constexpr uintptr_t gameIGameSystem_Constructor = 0x140AF5F86 - ImageBase; // 48 8B D9 E8 ? ? ? ? 48 8D 05 ? ? ? ? 48 C7 43 40 00 00 00 00, expected: 2, index: 0 -constexpr uintptr_t gameIGameSystem_Initialize = 0x142DBD200 - ImageBase; // 48 89 5C 24 18 48 89 6C 24 20 57 48 83 EC 30 48 8B 42 78, expected: 1, index: 0 -constexpr uintptr_t gameIGameSystem_UnInitialize = 0x142DBBE70 - ImageBase; // 40 53 48 83 EC 20 48 8B D9 E8 ? ? ? ? 33 C0 48 89 43 50 48 89 43 48, expected: 1, index: 0 -constexpr uintptr_t gameIGameSystem_Spawn = 0x142DBE400 - ImageBase; // 48 89 5C 24 18 55 56 41 54 41 56 41 57 48 8D 6C 24 90 48 81 EC 70 01 00 00 48 83 79 50 00 49 8B, expected: 1, index: 0 -constexpr uintptr_t gameIGameSystem_Despawn = 0x142DBBEA0 - ImageBase; // 48 89 5C 24 10 48 89 6C 24 18 56 57 41 54 41 56 41 57 48 83 EC 50 4C 8B F9 0F 57 C0 48 83 C1 41, expected: 1, index: 0 -constexpr uintptr_t gameIGameSystem_SpawnCallback = 0x1410F1780 - ImageBase; // 48 89 5C 24 18 48 89 6C 24 20 56 57 41 56 48 83 EC 70 48 8B F1 48 8B EA 48 83 C1 48 E8, expected: 1, index: 0 +constexpr uintptr_t gameIGameSystem_Constructor = 0x140AF6356 - ImageBase; // 48 8B D9 E8 ? ? ? ? 48 8D 05 ? ? ? ? 48 C7 43 40 00 00 00 00, expected: 2, index: 0 +constexpr uintptr_t gameIGameSystem_Initialize = 0x142DC26E0 - ImageBase; // 48 89 5C 24 18 48 89 6C 24 20 57 48 83 EC 30 48 8B 42 78, expected: 1, index: 0 +constexpr uintptr_t gameIGameSystem_UnInitialize = 0x142DC1350 - ImageBase; // 40 53 48 83 EC 20 48 8B D9 E8 ? ? ? ? 33 C0 48 89 43 50 48 89 43 48, expected: 1, index: 0 +constexpr uintptr_t gameIGameSystem_Spawn = 0x142DC38E0 - ImageBase; // 48 89 5C 24 18 55 56 41 54 41 56 41 57 48 8D 6C 24 90 48 81 EC 70 01 00 00 48 83 79 50 00 49 8B, expected: 1, index: 0 +constexpr uintptr_t gameIGameSystem_Despawn = 0x142DC1380 - ImageBase; // 48 89 5C 24 10 48 89 6C 24 18 56 57 41 54 41 56 41 57 48 83 EC 50 4C 8B F9 0F 57 C0 48 83 C1 41, expected: 1, index: 0 +constexpr uintptr_t gameIGameSystem_SpawnCallback = 0x1410F1E70 - ImageBase; // 48 89 5C 24 18 48 89 6C 24 20 56 57 41 56 48 83 EC 70 48 8B F1 48 8B EA 48 83 C1 48 E8, expected: 1, index: 0 #pragma endregion #pragma region PlayerSystem -constexpr uintptr_t PlayerSystem_OnPlayerSpawned = 0x14271CBD0 - ImageBase; // 48 8B C4 4C 89 48 20 55 56 57 48 8B EC 48 81 EC 80 00 00 00 44 8B 15 25 60 54 02 48 8B F1, expected: 1, index: 0 +constexpr uintptr_t PlayerSystem_OnPlayerSpawned = 0x14271DB50 - ImageBase; // 48 8B C4 4C 89 48 20 55 56 57 48 8B EC 48 81 EC 80 00 00 00, expected: 1, index: 0 #pragma endregion } // namespace CyberEngineTweaks::Addresses