Changed AOB scan function name

This commit is contained in:
2025-08-20 10:53:58 +02:00
parent f45e645c75
commit 33001e9d59
17 changed files with 123 additions and 67 deletions

View File

@@ -58,7 +58,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
logger->info("--------------- AOB scan started ---------------");
if (FOVaddress == nullptr) {
constexpr auto FOVStringObfuscated = make_obfuscated<0x4A>("F3 0F ?? ?? ?? 48 8D ?? ?? E8 ?? ?? ?? ?? 90 48 ?? ?? 48");
FOVaddress = Memory::aob_scan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
FOVaddress = Memory::AOBScan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//DaysGone.exe + 46CC96 - 48 8B CB - mov rcx, rbx
//DaysGone.exe + 46CC99 - FF 90 80 03 00 00 - call qword ptr[rax + 00000380]
@@ -74,7 +74,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
if (FOVfactorAddress == nullptr) {
constexpr auto FOVFactorStringObfuscated = make_obfuscated<0x4A>("CC 48 8B ?? ?? F3 0F 10 80 ?? ?? ?? ?? F3 0F");
FOVfactorAddress = Memory::aob_scan(gameExecutable, FOVFactorStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
FOVfactorAddress = Memory::AOBScan(gameExecutable, FOVFactorStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//DaysGone.exe + 4554E0 - 48 8B 41 28 - mov rax, [rcx + 28]
//DaysGone.exe + 4554E4 - F3 0F 10 80 68 03 00 00 - movss xmm0, [rax + 00000368]
//DaysGone.exe + 4554EC - F3 0F 59 41 4C - mulss xmm0, [rcx + 4C]
@@ -90,7 +90,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
if (HUDaddress == nullptr) {
constexpr auto AspectStringObfuscated = make_obfuscated<0x4A>("48 ?? ?? 48 ?? ?? 66 48 ?? ?? ?? FF ?? 48 8B ?? ?? ?? 0F ?? ??");
HUDaddress = Memory::aob_scan(gameExecutable, AspectStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
HUDaddress = Memory::AOBScan(gameExecutable, AspectStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//DaysGone.exe + 1FBA9E3 - 0F 10 00 - movups xmm0, [rax]
//DaysGone.exe + 1FBA9E6 - 48 8B C7 - mov rax, rdi

View File

@@ -40,7 +40,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
if (g_fix_enabled && !AOBScanDone) {
logger->info("--------------- AOB scan started ---------------");
constexpr auto FOVStringObfuscated = make_obfuscated<0x4A>("F3 0F ?? ?? ?? ?? ?? ?? 0F 2F ?? ?? ?? ?? ?? 77 ?? 48 8B ?? ?? ?? ?? ?? F3 0F ?? ?? ?? F3 0F ?? ?? ?? ?? ?? ??");
FOVaddress = Memory::aob_scan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
FOVaddress = Memory::AOBScan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//Dead Space.exe + 1ACB628 - 48 8B 83 10 03 00 00 - mov rax, [rbx + 00000310]
//Dead Space.exe + 1ACB62F - F3 0F 10 40 6C - movss xmm0, [rax + 6C]

View File

@@ -67,7 +67,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
logger->info("--------------- AOB scan started ---------------");
if (WorldFOVaddress == nullptr) {
constexpr auto FOVStringObfuscated = make_obfuscated<0x4A>("77 ?? 48 ?? ?? FF ?? ?? ?? ?? ?? F3 0F ?? ?? ?? 48");
WorldFOVaddress = Memory::aob_scan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
WorldFOVaddress = Memory::AOBScan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"TheDarken-Win64-Shipping.exe" + 3C86F14 - 48 8B 01 - mov rax, [rcx]
//"TheDarken-Win64-Shipping.exe" + 3C86F17 - FF 90 60 07 00 00 - call qword ptr[rax + 00000760]
//"TheDarken-Win64-Shipping.exe" + 3C86F1D - F3 0F 10 40 30 - movss xmm0, [rax + 30]
@@ -84,7 +84,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
if (FOVaddress == nullptr) {
constexpr auto FOVStringObfuscated = make_obfuscated<0x4A>("EB ?? F3 0F ?? ?? ?? ?? ?? ?? F3 0F ?? ?? ?? 8B 83 ?? ?? ?? ?? 89");
FOVaddress = Memory::aob_scan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
FOVaddress = Memory::AOBScan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"TheDarken-Win64-Shipping.exe" + 365E250 - EB 08 - jmp "TheDarken-Win64-Shipping.exe" + 365E25A
//"TheDarken-Win64-Shipping.exe" + 365E252 - F3 0F 10 83 30 02 00 00 - movss xmm0, [rbx + 00000230]
//"TheDarken-Win64-Shipping.exe" + 365E25A - F3 0F 11 47 30 - movss[rdi + 30], xmm0
@@ -105,7 +105,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
if (DOFaddress == nullptr) {
constexpr auto DOFStringObfuscated = make_obfuscated<0x4A>("75 ?? BF 04 ?? ?? ?? 8B ?? ?? 48 ?? ?? E8");
DOFaddress = Memory::aob_scan(gameExecutable, DOFStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
DOFaddress = Memory::AOBScan(gameExecutable, DOFStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"TheDarken-Win64-Shipping.exe" + 26E89B2 - 75 05 - jne "TheDarken-Win64-Shipping.exe" + 26E89B9
//"TheDarken-Win64-Shipping.exe" + 26E89B4 - BF 04 00 00 00 - mov edi, "Echoes Of The End._Init_thread_epoch"
//"TheDarken-Win64-Shipping.exe" + 26E89B9 - 8B 3C 37 - mov edi, [rdi + rsi]
@@ -122,7 +122,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
if (CAaddress == nullptr) {
constexpr auto CAStringObfuscated = make_obfuscated<0x4A>("7F ?? 44 89 ?? ?? ?? ?? ?? 43 ?? ?? ?? 39 05");
CAaddress = Memory::aob_scan(gameExecutable, CAStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
CAaddress = Memory::AOBScan(gameExecutable, CAStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"TheDarken-Win64-Shipping.exe" + 3D6D452 - 48 8B 05 67 F0 32 06 - mov rax, ["TheDarken-Win64-Shipping.exe" + A09C4C0]
//"TheDarken-Win64-Shipping.exe" + 3D6D459 - 44 39 38 - cmp[rax], r15d
//"TheDarken-Win64-Shipping.exe" + 3D6D45C - 7F 07 - jg "TheDarken-Win64-Shipping.exe" + 3D6D465
@@ -138,7 +138,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
if (Vignettingaddress == nullptr) {
constexpr auto VignettingStringObfuscated = make_obfuscated<0x4A>("8B ?? 83 ?? ?? 7D ?? 44 89");
Vignettingaddress = Memory::aob_scan(gameExecutable, VignettingStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
Vignettingaddress = Memory::AOBScan(gameExecutable, VignettingStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"TheDarken-Win64-Shipping.exe" + 3D6D4E6 - 44 89 BB 24 20 00 00 - mov[rbx + 00002024], r15d
//"TheDarken-Win64-Shipping.exe" + 3D6D4ED - 48 8B 05 3C D9 32 06 - mov rax, ["TheDarken-Win64-Shipping.exe" + A09AE30]
//"TheDarken-Win64-Shipping.exe" + 3D6D4F4 - 8B 08 - mov ecx, [rax]
@@ -154,7 +154,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
if (Fogaddress == nullptr) {
constexpr auto FogStringObfuscated = make_obfuscated<0x4A>("74 ?? 48 8B ?? ?? ?? ?? ?? 83 ?? ?? ?? 75 ?? 40 ?? ?? EB ?? 40 ?? ?? 48");
Fogaddress = Memory::aob_scan(gameExecutable, FogStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
Fogaddress = Memory::AOBScan(gameExecutable, FogStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"TheDarken-Win64-Shipping.exe" + 22FCE21 - 48 8B 05 F8 9C C7 07 - mov rax, ["TheDarken-Win64-Shipping.exe" + 9F76B20]
//"TheDarken-Win64-Shipping.exe" + 22FCE28 - 83 78 04 01 - cmp dword ptr[rax + 04], 01
//"TheDarken-Win64-Shipping.exe" + 22FCE2C - 75 05 - jne "TheDarken-Win64-Shipping.exe" + 22FCE33

View File

@@ -54,7 +54,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
logger->info("--------------- AOB scan started ---------------");
if (FOVaddress == nullptr) {
constexpr auto FOVStringObfuscated = make_obfuscated<0x4A>("77 ?? 48 ?? ?? FF 90 ?? ?? ?? ?? F3 0F ?? ?? ?? 48 83");
FOVaddress = Memory::aob_scan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
FOVaddress = Memory::AOBScan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (!FOVaddress)
logger->warn("FOV signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
@@ -65,7 +65,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (Aspectaddress == nullptr) {
constexpr auto AspectStringObfuscated = make_obfuscated<0x4A>("F3 0F ?? ?? ?? ?? ?? ?? 76 ?? F3 0F ?? ?? ?? ?? ?? ?? 48 83 ?? ?? 5B");
Aspectaddress = Memory::aob_scan(gameExecutable, AspectStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
Aspectaddress = Memory::AOBScan(gameExecutable, AspectStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (!Aspectaddress)
logger->warn("Aspect ratio signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
@@ -75,7 +75,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (DOFaddress == nullptr) {
constexpr auto DOFStringObfuscated = make_obfuscated<0x4A>("8B ?? ?? 48 ?? ?? E8 ?? ?? ?? ?? 0F ?? ?? 48 6B ?? ?? 48 8D");
DOFaddress = Memory::aob_scan(gameExecutable, DOFStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
DOFaddress = Memory::AOBScan(gameExecutable, DOFStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (!DOFaddress)
logger->warn("DOF signature not found. Maybe your game has been updated and is no more compatible with this plugin.");

View File

@@ -49,7 +49,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
logger->info("--------------- AOB scan started ---------------");
if (FOVaddress == nullptr) {
constexpr auto FOVStringObfuscated = make_obfuscated<0x4A>("EB ?? F3 0F ?? ?? ?? ?? ?? ?? F3 0F ?? ?? ?? 8B 83 ?? ?? ?? ?? 89");
FOVaddress = Memory::aob_scan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
FOVaddress = Memory::AOBScan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"FNAF_SOTM-Win64-Shipping.exe" + 2BC96B0 - EB 08 - jmp "FNAF_SOTM-Win64-Shipping.exe" + 2BC96BA
//"FNAF_SOTM-Win64-Shipping.exe" + 2BC96B2 - F3 0F 10 83 F8 01 00 00 - movss xmm0, [rbx + 000001F8]
//"FNAF_SOTM-Win64-Shipping.exe" + 2BC96BA - F3 0F 11 47 18 - movss[rdi + 18], xmm0
@@ -65,7 +65,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (HORPLUSaddress == nullptr) {
constexpr auto HORPLUSStringObfuscated = make_obfuscated<0x4A>("41 0F ?? ?? ?? ?? ?? ?? 48 8D ?? ?? ?? ?? ?? 4C ?? ?? 4D ?? ?? E8");
HORPLUSaddress = Memory::aob_scan(gameExecutable, HORPLUSStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
HORPLUSaddress = Memory::AOBScan(gameExecutable, HORPLUSStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"FNAF_SOTM-Win64-Shipping.exe" + 2E2D3F3 - 0F 11 56 40 - movups[rsi + 40], xmm2
//"FNAF_SOTM-Win64-Shipping.exe" + 2E2D3F7 - 0F 85 95 00 00 00 - jne "FNAF_SOTM-Win64-Shipping.exe" + 2E2D492
//"FNAF_SOTM-Win64-Shipping.exe" + 2E2D3FD - 41 0F B6 96 94 00 00 00 - movzx edx,byte ptr [r14+00000094]
@@ -79,7 +79,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (DOFaddress == nullptr) {
constexpr auto DOFStringObfuscated = make_obfuscated<0x4A>("8B ?? ?? E8 ?? ?? ?? ?? 8B ?? E8 ?? ?? ?? ?? 84 ?? 74 ?? 48");
DOFaddress = Memory::aob_scan(gameExecutable, DOFStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
DOFaddress = Memory::AOBScan(gameExecutable, DOFStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"FNAF_SOTM-Win64-Shipping.exe" + 1BBE160 - 48 8B 05 D1 73 AF 03 - mov rax, ["FNAF_SOTM-Win64-Shipping.exe" + 56B5538]
//"FNAF_SOTM-Win64-Shipping.exe" + 1BBE167 - 48 8B CB - mov rcx, rbx
//"FNAF_SOTM-Win64-Shipping.exe" + 1BBE16A - 8B 78 04 - mov edi, [rax + 04]
@@ -94,7 +94,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (FPSaddress == nullptr) {
constexpr auto FPSStringObfuscated = make_obfuscated<0x4A>("F3 0F ?? ?? ?? EB ?? 0F ?? ?? 48 8B ?? ?? ?? 0F");
FPSaddress = Memory::aob_scan(gameExecutable, FPSStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
FPSaddress = Memory::AOBScan(gameExecutable, FPSStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"FNAF_SOTM-Win64-Shipping.exe" + 314F2E4 - 3B 05 EE B7 45 02 - cmp eax, ["FNAF_SOTM-Win64-Shipping.exe" + 55AAAD8]
//"FNAF_SOTM-Win64-Shipping.exe" + 314F2EA - 0F 95 C3 - setne bl
//"FNAF_SOTM-Win64-Shipping.exe" + 314F2ED - F3 0F 10 04 9F - movss xmm0, [rdi + rbx * 4]

View File

@@ -68,7 +68,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
logger->info("--------------- AOB scan started ---------------");
if (FOVaddress == nullptr) {
constexpr auto FOVStringObfuscated = make_obfuscated<0x4A>("77 ?? 48 ?? ?? FF ?? ?? ?? ?? ?? F3 0F ?? ?? ?? 48");
FOVaddress = Memory::aob_scan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
FOVaddress = Memory::AOBScan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"HellIsUs-Win64-Shipping.exe" + 3C8E924 - 48 8B 01 - mov rax, [rcx]
//"HellIsUs-Win64-Shipping.exe" + 3C8E927 - FF 90 60 07 00 00 - call qword ptr[rax + 00000760]
//"HellIsUs-Win64-Shipping.exe" + 3C8E92D - F3 0F 10 40 30 - movss xmm0, [rax + 30]
@@ -85,7 +85,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
if (Aspectaddress == nullptr) {
constexpr auto AspectStringObfuscated = make_obfuscated<0x4A>("E9 ?? ?? ?? ?? CC CC CC CC CC CC 48 89 ?? ?? ?? 57 48 83 ?? ?? 0F ?? ?? 48 ?? ?? 48");
Aspectaddress = Memory::aob_scan(gameExecutable, AspectStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
Aspectaddress = Memory::AOBScan(gameExecutable, AspectStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"HellIsUs-Win64-Shipping.exe" + 3453EBA - 89 41 58 - mov[rcx + 58], eax
//"HellIsUs-Win64-Shipping.exe" + 3453EBD - 8B 42 5C - mov eax, [rdx + 5C]
//"HellIsUs-Win64-Shipping.exe" + 3453EC0 - 89 41 5C - mov[rcx + 5C], eax <<= Aspect ratio
@@ -102,7 +102,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
if (DOFaddress == nullptr) {
constexpr auto DOFStringObfuscated = make_obfuscated<0x4A>("74 ?? 48 ?? ?? 8B ?? ?? 48 ?? ?? E8");
DOFaddress = Memory::aob_scan(gameExecutable, DOFStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
DOFaddress = Memory::AOBScan(gameExecutable, DOFStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"HellIsUs-Win64-Shipping.exe" + 26ABA27 - 74 03 - je "HellIsUs-Win64-Shipping.exe" + 26ABA2C
//"HellIsUs-Win64-Shipping.exe" + 26ABA29 - 48 8B C3 - mov rax, rbx
//"HellIsUs-Win64-Shipping.exe" + 26ABA2C - 8B 34 30 - mov esi, [rax + rsi]
@@ -119,7 +119,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
if (CAaddress == nullptr) {
constexpr auto CAStringObfuscated = make_obfuscated<0x4A>("7F ?? 44 89 ?? ?? ?? ?? ?? 43 ?? ?? ?? 39 05");
CAaddress = Memory::aob_scan(gameExecutable, CAStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
CAaddress = Memory::AOBScan(gameExecutable, CAStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"HellIsUs-Win64-Shipping.exe" + 3D73BC2 - 48 8B 05 D7 F7 6E 05 - mov rax, ["HellIsUs-Win64-Shipping.exe" + 94633A0]
//"HellIsUs-Win64-Shipping.exe" + 3D73BC9 - 44 39 38 - cmp[rax], r15d
//"HellIsUs-Win64-Shipping.exe" + 3D73BCC - 7F 07 - jg "HellIsUs-Win64-Shipping.exe" + 3D73BD5
@@ -135,7 +135,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
if (Vignettingaddress == nullptr) {
constexpr auto VignettingStringObfuscated = make_obfuscated<0x4A>("8B ?? 83 ?? ?? 7D ?? 44 89");
Vignettingaddress = Memory::aob_scan(gameExecutable, VignettingStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
Vignettingaddress = Memory::AOBScan(gameExecutable, VignettingStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"HellIsUs-Win64-Shipping.exe" + 3D73C64 - 8B 08 - mov ecx, [rax]
//"HellIsUs-Win64-Shipping.exe" + 3D73C66 - 83 F9 02 - cmp ecx, 02
//"HellIsUs-Win64-Shipping.exe" + 3D73C69 - 7D 09 - jnl "HellIsUs-Win64-Shipping.exe" + 3D73C74
@@ -152,7 +152,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
if (Fogaddress == nullptr) {
constexpr auto FogStringObfuscated = make_obfuscated<0x4A>("F6 ?? ?? ?? ?? 74 ?? 48 8B ?? ?? ?? ?? ?? 83 78 ?? ?? 75 ?? B3");
Fogaddress = Memory::aob_scan(gameExecutable, FogStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
Fogaddress = Memory::AOBScan(gameExecutable, FogStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"HellIsUs-Win64-Shipping.exe" + 22B77C8 - 74 11 - je "HellIsUs-Win64-Shipping.exe" + 22B77DB
//"HellIsUs-Win64-Shipping.exe" + 22B77CA - 48 8B 05 8F 23 08 07 - mov rax, ["HellIsUs-Win64-Shipping.exe" + 9339B60]
//"HellIsUs-Win64-Shipping.exe" + 22B77D1 - 83 78 04 01 - cmp dword ptr[rax + 04], 01

View File

@@ -58,7 +58,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
logger->info("--------------- AOB scan started ---------------");
if (FOVaddress == nullptr) {
constexpr auto FOVStringObfuscated = make_obfuscated<0x4A>("F3 44 ?? ?? ?? ?? 48 8B ?? ?? ?? 4C ?? ?? 49 0F ?? ?? ?? ?? ?? ?? 4C 8D");
FOVaddress = Memory::aob_scan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
FOVaddress = Memory::AOBScan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (!FOVaddress)
logger->warn("FOV signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
@@ -69,7 +69,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (CinematicsFOVaddress == nullptr) {
constexpr auto CinematicsFOVStringObfuscated = make_obfuscated<0x4A>("F3 0F ?? ?? F3 0F ?? ?? ?? ?? ?? ?? 0F ?? ?? E8 ?? ?? ?? ?? F3 0F ?? ?? E8");
CinematicsFOVaddress = Memory::aob_scan(gameExecutable, CinematicsFOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
CinematicsFOVaddress = Memory::AOBScan(gameExecutable, CinematicsFOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (!CinematicsFOVaddress)
logger->warn("Cinematics FOV signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
@@ -79,7 +79,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (CinematicsFTaddress == nullptr) {
constexpr auto FTStringObfuscated = make_obfuscated<0x4A>("75 ?? 48 8B ?? ?? ?? ?? ?? 48 ?? ?? 74 ?? 39 ?? ?? 77");
CinematicsFTaddress = Memory::aob_scan(gameExecutable, FTStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
CinematicsFTaddress = Memory::AOBScan(gameExecutable, FTStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (!CinematicsFTaddress)
logger->warn("Cinematics frametime signature not found. Maybe your game has been updated and is no more compatible with this plugin.");

View File

@@ -55,7 +55,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
logger->info("--------------- AOB scan started ---------------");
if (FOVaddress == nullptr) {
constexpr auto FOVStringObfuscated = make_obfuscated<0x4A>("3C ?? 0F 86 ?? ?? ?? ?? F3 0F");
FOVaddress = Memory::aob_scan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
FOVaddress = Memory::AOBScan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (!FOVaddress)
logger->warn("FOV signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
@@ -66,7 +66,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (CutscenesFOVaddress == nullptr) {
constexpr auto CutscenesFOVStringObfuscated = make_obfuscated<0x4A>("F3 0F ?? ?? ?? ?? ?? ?? E9 96 ?? ?? ?? 48 8B");
CutscenesFOVaddress = Memory::aob_scan(gameExecutable, CutscenesFOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
CutscenesFOVaddress = Memory::AOBScan(gameExecutable, CutscenesFOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (!CutscenesFOVaddress)
logger->warn("Cutscenes FOV signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
@@ -77,7 +77,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (Aspectaddress_1 == nullptr) {
constexpr auto AspectRatioStringObfuscated_1 = make_obfuscated<0x4A>("F3 0F ?? ?? ?? ?? ?? ?? F3 0F ?? ?? ?? ?? ?? ?? 89 84 ?? ?? ?? ?? ?? 8B");
Aspectaddress_1 = Memory::aob_scan(gameExecutable, AspectRatioStringObfuscated_1.decrypt(), PAGE_EXECUTE_READ);
Aspectaddress_1 = Memory::AOBScan(gameExecutable, AspectRatioStringObfuscated_1.decrypt(), PAGE_EXECUTE_READ);
if (!Aspectaddress_1)
logger->warn("1st aspect ratio signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
@@ -88,7 +88,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (Aspectaddress_2 == nullptr) {
constexpr auto AspectRatioStringObfuscated_2 = make_obfuscated<0x4A>("F3 0F ?? ?? ?? ?? ?? ?? 0F ?? ?? 48 8D ?? ?? ?? ?? ?? F3 48 ?? ?? ?? 49 8D");
Aspectaddress_2 = Memory::aob_scan(gameExecutable, AspectRatioStringObfuscated_2.decrypt(), PAGE_EXECUTE_READ);
Aspectaddress_2 = Memory::AOBScan(gameExecutable, AspectRatioStringObfuscated_2.decrypt(), PAGE_EXECUTE_READ);
if (!Aspectaddress_2)
logger->warn("2nd aspect ratio signature not found. Maybe your game has been updated and is no more compatible with this plugin.");

View File

@@ -54,7 +54,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
logger->info("--------------- AOB scan started ---------------");
if (FOVaddress == nullptr) {
constexpr auto FOVStringObfuscated = make_obfuscated<0x4A>("EB ?? F3 0F ?? ?? ?? ?? ?? ?? F3 0F ?? ?? ?? 8B 83 ?? ?? ?? ?? 89 ?? ?? 0F B6 8B");
FOVaddress = Memory::aob_scan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
FOVaddress = Memory::AOBScan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (!FOVaddress)
logger->warn("FOV signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
@@ -71,7 +71,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (DOFaddress == nullptr) {
constexpr auto DOFStringObfuscated = make_obfuscated<0x4A>("8B ?? ?? 48 ?? ?? E8 ?? ?? ?? ?? 0F ?? ?? 48 6B ?? ?? 48 8D");
DOFaddress = Memory::aob_scan(gameExecutable, DOFStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
DOFaddress = Memory::AOBScan(gameExecutable, DOFStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (!DOFaddress)
logger->warn("DOF signature not found. Maybe your game has been updated and is no more compatible with this plugin.");

View File

@@ -54,7 +54,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
logger->info("--------------- AOB scan started ---------------");
if (FOVaddress == nullptr) {
constexpr auto FOVStringObfuscated = make_obfuscated<0x4A>("F3 0F ?? ?? ?? 48 8B ?? 48 8B ?? 4C 8D ?? ?? 48 8B");
FOVaddress = Memory::aob_scan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
FOVaddress = Memory::AOBScan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (!FOVaddress)
logger->warn("FOV signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
@@ -64,7 +64,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (Aspectaddress == nullptr) {
constexpr auto AspectStringObfuscated = make_obfuscated<0x4A>("EB ?? F3 0F ?? ?? ?? ?? ?? ?? F3 0F ?? ?? ?? 8B 83 ?? ?? ?? ?? 89");
Aspectaddress = Memory::aob_scan(gameExecutable, AspectStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
Aspectaddress = Memory::AOBScan(gameExecutable, AspectStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (!Aspectaddress)
logger->info("Aspect ratio signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
@@ -75,7 +75,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (DOFaddress == nullptr) {
constexpr auto DOFStringObfuscated = make_obfuscated<0x4A>("8B ?? ?? 48 8B ?? E8 ?? ?? ?? ?? 0F ?? ?? 48 6B ?? ?? 48");
DOFaddress = Memory::aob_scan(gameExecutable, DOFStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
DOFaddress = Memory::AOBScan(gameExecutable, DOFStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (!DOFaddress)
logger->warn("DOF signature not found. Maybe your game has been updated and is no more compatible with this plugin.");

View File

@@ -52,7 +52,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
logger->info("--------------- AOB scan started ---------------");
if (FOVaddress == nullptr) {
constexpr auto FOVStringObfuscated = make_obfuscated<0x4A>("90 0F ?? ?? 48 8B 8C ?? ?? ?? ?? ?? 48 ?? ?? E8 ?? ?? ?? ?? 0F 28");
FOVaddress = Memory::aob_scan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
FOVaddress = Memory::AOBScan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//SouthOfMidnight.exe + 357E051 - E8 5A 4A ED FD - call SouthOfMidnight.exe + 1452AB0
//SouthOfMidnight.exe + 357E056 - 90 - nop
@@ -68,7 +68,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (Aspectaddress == nullptr) {
constexpr auto AspectStringObfuscated = make_obfuscated<0x4A>("EB ?? F3 0F ?? ?? ?? ?? ?? ?? F3 0F ?? ?? ?? 8B 87 ?? ?? ?? ?? 89 ?? ?? 0F B6");
Aspectaddress = Memory::aob_scan(gameExecutable, AspectStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
Aspectaddress = Memory::AOBScan(gameExecutable, AspectStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//SouthOfMidnight.exe + 3161AB4 - F3 0F 10 87 F8 01 00 00 - movss xmm0, [rdi + 000001F8]
//SouthOfMidnight.exe + 3161ABC - F3 0F 11 46 18 - movss[rsi + 18], xmm0

View File

@@ -54,7 +54,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
logger->info("--------------- AOB scan started ---------------");
if (FOVaddress == nullptr) {
constexpr auto FOVStringObfuscated = make_obfuscated<0x4A>("EB ?? F3 0F ?? ?? ?? ?? ?? ?? F3 0F ?? ?? ?? 8B 83 ?? ?? ?? ?? 89");
FOVaddress = Memory::aob_scan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
FOVaddress = Memory::AOBScan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (!FOVaddress)
logger->warn("FOV signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
@@ -71,7 +71,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (DOFaddress == nullptr) {
constexpr auto DOFStringObfuscated = make_obfuscated<0x4A>("8B ?? ?? E8 ?? ?? ?? ?? 8B ?? E8 ?? ?? ?? ?? 84 ?? 74 ?? 48");
DOFaddress = Memory::aob_scan(gameExecutable, DOFStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
DOFaddress = Memory::AOBScan(gameExecutable, DOFStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (!DOFaddress)
logger->warn("DOF signature not found. Maybe your game has been updated and is no more compatible with this plugin.");

View File

@@ -62,7 +62,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
// === AOB Scans ===
if (!DialogFOVAddress) {
constexpr auto DialogFOVPattern = make_obfuscated<0x4A>("E9 ?? ?? ?? ?? 49 ?? ?? E8 ?? ?? ?? ?? 84 ?? 0F 84 ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 48 89");
DialogFOVAddress = Memory::aob_scan(gameExecutable, DialogFOVPattern.decrypt(), PAGE_EXECUTE_READ);
DialogFOVAddress = Memory::AOBScan(gameExecutable, DialogFOVPattern.decrypt(), PAGE_EXECUTE_READ);
//Starfield.exe + BBA13E - A8 01 - test al, 01
//Starfield.exe + BBA140 - 74 0D - je Starfield.exe + BBA14F
//Starfield.exe + BBA142 - C5 FA 10 35 FE 15 23 05 - vmovss xmm6, [Starfield.exe + 5DEB748]
@@ -76,7 +76,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (!WeaponFOVAddress) {
constexpr auto WeaponFOVPattern = make_obfuscated<0x4A>("C5 FA ?? ?? ?? ?? ?? ?? 80 3D ?? ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 74");
WeaponFOVAddress = Memory::aob_scan(gameExecutable, WeaponFOVPattern.decrypt(), PAGE_EXECUTE_READ);
WeaponFOVAddress = Memory::AOBScan(gameExecutable, WeaponFOVPattern.decrypt(), PAGE_EXECUTE_READ);
//Starfield.exe + 12D9F27 - C5 F8 28 C2 - vmovaps xmm0, xmm2
//Starfield.exe + 12D9F2B - 48 8B 05 5E C4 BD 04 - mov rax, [Starfield.exe + 5EB6390]
//Starfield.exe + 12D9F32 - C5 FA 11 80 E0 02 00 00 - vmovss[rax + 000002E0], xmm0
@@ -90,7 +90,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (!HUDAddress) {
constexpr auto HUDPattern = make_obfuscated<0x4A>("C4 61 ?? ?? ?? ?? ?? ?? ?? C4 61 ?? ?? ?? ?? ?? ?? ?? 45 ?? ?? 74");
HUDAddress = Memory::aob_scan(gameExecutable, HUDPattern.decrypt(), PAGE_EXECUTE_READ);
HUDAddress = Memory::AOBScan(gameExecutable, HUDPattern.decrypt(), PAGE_EXECUTE_READ);
//Starfield.exe + 24D6D3B - C4 61 FA 2C 05 3C 28 38 03 - vcvttss2si r8, [Starfield.exe + 5859580]
//Starfield.exe + 24D6D44 - C4 61 FA 2C 0D 13 28 38 03 - vcvttss2si r9, [Starfield.exe + 5859560]
//Starfield.exe + 24D6D4D - 45 84 DB - test r11b, r11b
@@ -105,7 +105,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (!PhotomodeAddress) {
constexpr auto PhotomodePattern = make_obfuscated<0x4A>("74 ?? 0F BA ?? ?? 89 87 ?? ?? ?? ?? C6 87 ?? ?? ?? ?? ?? E8");
PhotomodeAddress = Memory::aob_scan(gameExecutable, PhotomodePattern.decrypt(), PAGE_EXECUTE_READ);
PhotomodeAddress = Memory::AOBScan(gameExecutable, PhotomodePattern.decrypt(), PAGE_EXECUTE_READ);
//Starfield.exe + 159D76C - C6 87 D2 00 00 00 01 - mov byte ptr[rdi + 000000D2], 01
//Starfield.exe + 159D773 - 40 38 35 96 1F 87 04 - cmp[Starfield.exe + 5E0F710], sil
//Starfield.exe + 159D77A - 74 11 - je Starfield.exe + 159D78D

View File

@@ -56,7 +56,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
// === AOB Scans ===
if (!FOVAddress) {
constexpr auto FOVPattern = make_obfuscated<0x4A>("E8 ?? ?? ?? ?? C5 FA ?? ?? ?? ?? ?? ?? C5 F8 ?? ?? E8 ?? ?? ?? ?? C5 7A");
FOVAddress = Memory::aob_scan(gameExecutable, FOVPattern.decrypt(), PAGE_EXECUTE_READ);
FOVAddress = Memory::AOBScan(gameExecutable, FOVPattern.decrypt(), PAGE_EXECUTE_READ);
//"tlou-i.exe" + 48A5B5 - C5 F8 11 41 10 - vmovups[rcx + 10], xmm0
//"tlou-i.exe" + 48A5BA - 48 8B CA - mov rcx, rdx
//"tlou-i.exe" + 48A5BD - E8 BE 0D 0B 00 - call "tlou-i.exe" + 53B380
@@ -71,7 +71,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (!CameraAddress) {
constexpr auto CameraPattern = make_obfuscated<0x4A>("C5 FA ?? ?? ?? ?? ?? ?? C5 FA ?? ?? ?? C5 22 ?? ?? ?? C4 C1 ?? ?? ?? C5 FA ?? ?? ?? C5 7A");
CameraAddress = Memory::aob_scan(gameExecutable, CameraPattern.decrypt(), PAGE_EXECUTE_READ);
CameraAddress = Memory::AOBScan(gameExecutable, CameraPattern.decrypt(), PAGE_EXECUTE_READ);
//"tlou-i.exe" + 693727 - C5 FA 11 56 0C - vmovss[rsi + 0C], xmm2
//"tlou-i.exe" + 69372C - 48 8B 07 - mov rax, [rdi]
//"tlou-i.exe" + 69372F - C5 FA 10 05 95 5E EC 02 - vmovss xmm0, ["tlou-i.exe" + 35595CC]
@@ -86,7 +86,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (!SharpnessAddress) {
constexpr auto SharpnessPattern = make_obfuscated<0x4A>("C5 FA ?? ?? ?? ?? ?? ?? 8B 86 ?? ?? ?? ?? 89 87 ?? ?? ?? ?? 0F B6 ?? ?? ?? ?? ?? 89");
SharpnessAddress = Memory::aob_scan(gameExecutable, SharpnessPattern.decrypt(), PAGE_EXECUTE_READ);
SharpnessAddress = Memory::AOBScan(gameExecutable, SharpnessPattern.decrypt(), PAGE_EXECUTE_READ);
//"tlou-i.exe" + 1F6B4CF - 75 04 - jne "tlou-i.exe" + 1F6B4D5
//"tlou-i.exe" + 1F6B4D1 - C5 C8 57 F6 - vxorps xmm6, xmm6, xmm6
//"tlou-i.exe" + 1F6B4D5 - C5 FA 11 B7 C4 02 00 00 - vmovss[rdi + 000002C4], xmm6

View File

@@ -56,7 +56,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
// === AOB Scans ===
if (!FOVAddress) {
constexpr auto FOVPattern = make_obfuscated<0x4A>("E8 ?? ?? ?? ?? C5 FA ?? ?? ?? ?? ?? ?? C5 F8 ?? ?? E8 ?? ?? ?? ?? C5 7A");
FOVAddress = Memory::aob_scan(gameExecutable, FOVPattern.decrypt(), PAGE_EXECUTE_READ);
FOVAddress = Memory::AOBScan(gameExecutable, FOVPattern.decrypt(), PAGE_EXECUTE_READ);
if (FOVAddress)
{
logger->info("FOV signature found at address: 0x{:X}.", reinterpret_cast<uintptr_t>(FOVAddress));
@@ -66,7 +66,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (!CameraAddress) {
constexpr auto CameraPattern = make_obfuscated<0x4A>("C5 FA ?? ?? ?? ?? ?? ?? C5 FA ?? ?? ?? C5 22 ?? ?? ?? C4 C1 ?? ?? ?? C5 FA ?? ?? ?? C5 7A");
CameraAddress = Memory::aob_scan(gameExecutable, CameraPattern.decrypt(), PAGE_EXECUTE_READ);
CameraAddress = Memory::AOBScan(gameExecutable, CameraPattern.decrypt(), PAGE_EXECUTE_READ);
if (CameraAddress)
{
logger->info("Camera signature found at address: 0x{:X}.", reinterpret_cast<uintptr_t>(CameraAddress));
@@ -76,7 +76,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
}
if (!SharpnessAddress) {
constexpr auto SharpnessPattern = make_obfuscated<0x4A>("C5 FA ?? ?? ?? ?? ?? ?? 8B 86 ?? ?? ?? ?? 89 87 ?? ?? ?? ?? 0F B6 ?? ?? ?? ?? ?? 89");
SharpnessAddress = Memory::aob_scan(gameExecutable, SharpnessPattern.decrypt(), PAGE_EXECUTE_READ);
SharpnessAddress = Memory::AOBScan(gameExecutable, SharpnessPattern.decrypt(), PAGE_EXECUTE_READ);
if (SharpnessAddress)
{
logger->info("Sharpness signature found at address: 0x{:X}.", reinterpret_cast<uintptr_t>(SharpnessAddress));

View File

@@ -80,11 +80,11 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled, bool init)
if (FOVaddress == nullptr) {
if (gameExecutable == "u4.exe") {
auto FOVStringObfuscated = make_obfuscated<0x4A>("C5 FA ?? ?? ?? ?? ?? ?? C5 F2 ?? ?? ?? ?? ?? ?? C5 7A ?? ?? ?? ?? ?? ?? C5 7A");
FOVaddress = Memory::aob_scan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
FOVaddress = Memory::AOBScan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
}
else {
auto FOVStringObfuscated = make_obfuscated<0x4A>("C5 FA ?? ?? ?? ?? ?? ?? C5 F2 ?? ?? ?? ?? ?? ?? E8 ?? ?? ?? ?? C5 92");
FOVaddress = Memory::aob_scan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
FOVaddress = Memory::AOBScan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
}
if (!FOVaddress)
@@ -95,7 +95,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled, bool init)
}
if (PHOTOaddress == nullptr) {
auto PhotoFOVStringObfuscated = make_obfuscated<0x4A>("C5 FA ?? ?? ?? ?? ?? ?? C5 FA ?? ?? ?? ?? ?? ?? 41 ?? ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 48 83");
PHOTOaddress = Memory::aob_scan(gameExecutable, PhotoFOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
PHOTOaddress = Memory::AOBScan(gameExecutable, PhotoFOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (!PHOTOaddress)
logger->warn("Photo FOV signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
@@ -106,7 +106,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled, bool init)
}
if (CINEMATICSASPECTaddress == nullptr) {
constexpr auto CinematicsAspectStringObfuscated = make_obfuscated<0x4A>("48 8B ?? ?? ?? ?? ?? 4C 8B ?? ?? ?? ?? ?? ?? 4C 8B ?? 49 C1");
CINEMATICSASPECTaddress = Memory::aob_scan(gameExecutable, CinematicsAspectStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
CINEMATICSASPECTaddress = Memory::AOBScan(gameExecutable, CinematicsAspectStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (!CINEMATICSASPECTaddress)
logger->warn("Cinematics aspect ratio signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
@@ -116,7 +116,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled, bool init)
}
if (Aspectaddress == nullptr) {
constexpr auto AspectStringObfuscated = make_obfuscated<0x4A>("44 8B ?? ?? ?? ?? ?? 48 ?? ?? 48 89 ?? ?? ?? ?? ?? E8 ?? ?? ?? ?? C5");
Aspectaddress = Memory::aob_scan(gameExecutable, AspectStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
Aspectaddress = Memory::AOBScan(gameExecutable, AspectStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (!Aspectaddress)
logger->warn("Aspect ratio signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
@@ -127,7 +127,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled, bool init)
}
if (DOFaddress == nullptr) {
constexpr auto DOFStringObfuscated = make_obfuscated<0x4A>("41 8B 87 ?? ?? ?? ?? 41 89 86 ?? ?? ?? ?? 41 C7 86");
DOFaddress = Memory::aob_scan(gameExecutable, DOFStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
DOFaddress = Memory::AOBScan(gameExecutable, DOFStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (!DOFaddress)
logger->warn("DOF signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
@@ -138,11 +138,11 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled, bool init)
if (EFFECTSaddress == nullptr) {
if (gameExecutable == "u4.exe") {
auto EffectsStringObfuscated = make_obfuscated<0x4A>("41 8B 86 ?? ?? ?? ?? 89 86 ?? ?? ?? ?? 41 8B 86 ?? ?? ?? ?? 89 86 ?? ?? ?? ?? 41 8B 86 ?? ?? ?? ?? 89 86 ?? ?? ?? ?? 41 8B 87");
EFFECTSaddress = Memory::aob_scan(gameExecutable, EffectsStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
EFFECTSaddress = Memory::AOBScan(gameExecutable, EffectsStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
}
else {
auto EffectsStringObfuscated = make_obfuscated<0x4A>("41 8B 87 ?? ?? ?? ?? 89 86 ?? ?? ?? ?? 41 8B 87 ?? ?? ?? ?? 89 86 ?? ?? ?? ?? 41 8B 87 ?? ?? ?? ?? 89 86 ?? ?? ?? ?? 41 8B 86");
EFFECTSaddress = Memory::aob_scan(gameExecutable, EffectsStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
EFFECTSaddress = Memory::AOBScan(gameExecutable, EffectsStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
}
if (!EFFECTSaddress)

View File

@@ -40,19 +40,65 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
g_fix_enabled = enabled;
if (g_fix_enabled && !AOBScanDone) {
logger->info("--------------- AOB scan started ---------------");
if (HORPLUSaddress == nullptr) {
constexpr auto HORPLUSStringObfuscated = make_obfuscated<0x4A>("41 0F ?? ?? ?? ?? ?? ?? 48 8D ?? ?? ?? ?? ?? 4C ?? ?? 4D ?? ?? E8");
HORPLUSaddress = Memory::aob_scan(gameExecutable, HORPLUSStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
if (FOVaddress == nullptr) {
constexpr auto FOVStringObfuscated = make_obfuscated<0x4A>("EB ?? F3 0F ?? ?? ?? ?? ?? ?? F3 0F ?? ?? ?? 0F ?? ?? 8B");
FOVaddress = Memory::AOBScan(gameExecutable, FOVStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"Project_Plague-Win64-Shipping.exe" + 3E1037A - EB 08 - jmp "Project_Plague-Win64-Shipping.exe" + 3E10384
//"Project_Plague-Win64-Shipping.exe" + 3E1037C - F3 0F 10 83 E0 02 00 00 - movss xmm0, [rbx + 000002E0]
//"Project_Plague-Win64-Shipping.exe" + 3E10384 - F3 0F 11 47 30 - movss[rdi + 30], xmm0
//"Project_Plague-Win64-Shipping.exe" + 3E10389 - 0F 57 C0 - xorps xmm0, xmm0
//"Project_Plague-Win64-Shipping.exe" + 3E1038C - 8B 83 F0 02 00 00 - mov eax, [rbx + 000002F0]
if (!HORPLUSaddress)
logger->warn("HOR+ signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
else
logger->info("HOR+ signature found at address: 0x{:X}.", reinterpret_cast<uintptr_t>(HORPLUSaddress));
if (!FOVaddress)
logger->warn("FOV signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
else {
logger->info("FOV signature found at address: 0x{:X}.", reinterpret_cast<uintptr_t>(FOVaddress));
FOVaddress += 0xa; // Offset for the target opcode
}
}
if (Aspectaddress_1 == nullptr) {
constexpr auto AspectStringObfuscated = make_obfuscated<0x4A>("C3 CC CC CC CC CC CC CC CC 48 89 ?? ?? ?? 57 48 ?? ?? ?? 0F ?? ?? 48 ?? ?? 48 ?? ?? 0F ?? ?? ?? 0F ?? ?? ?? F2 0F");
Aspectaddress_1 = Memory::AOBScan(gameExecutable, AspectStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"Project_Plague-Win64-Shipping.exe" + 10A7443 - 89 41 44 - mov[rcx + 44], eax
//"Project_Plague-Win64-Shipping.exe" + 10A7446 - 8B 42 48 - mov eax, [rdx + 48]
//"Project_Plague-Win64-Shipping.exe" + 10A7449 - 89 41 48 - mov[rcx + 48], eax
//"Project_Plague-Win64-Shipping.exe" + 10A744C - 8B 49 4C - mov ecx, [rcx + 4C]
//"Project_Plague-Win64-Shipping.exe" + 10A744F - 33 4A 4C - xor ecx, [rdx + 4C]
if (!Aspectaddress_1)
logger->warn("Aspect ratio #1 signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
else {
logger->info("Aspect ratio #1 signature found at address: 0x{:X}.", reinterpret_cast<uintptr_t>(Aspectaddress_1));
Aspectaddress_1 += 0x62;
}
}
if (Aspectaddress_2 == nullptr) {
constexpr auto AspectStringObfuscated = make_obfuscated<0x4A>("C3 CC CC CC CC CC 48 89 ?? ?? ?? 57 48 ?? ?? ?? 0F ?? ?? 48 ?? ?? 48 ?? ?? 0F ?? ?? ?? 0F ?? ?? ?? F2 0F");
Aspectaddress_2 = Memory::AOBScan(gameExecutable, AspectStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"Project_Plague-Win64-Shipping.exe" + 1914483 - 89 41 44 - mov[rcx + 44], eax
//"Project_Plague-Win64-Shipping.exe" + 1914486 - 8B 42 48 - mov eax, [rdx + 48]
//"Project_Plague-Win64-Shipping.exe" + 1914489 - 89 41 48 - mov[rcx + 48], eax
//"Project_Plague-Win64-Shipping.exe" + 191448C - 8B 49 4C - mov ecx, [rcx + 4C]
//"Project_Plague-Win64-Shipping.exe" + 191448F - 33 4A 4C - xor ecx, [rdx + 4C]
if (!Aspectaddress_2)
logger->warn("Aspect ratio #2 signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
else {
logger->info("Aspect ratio #2 signature found at address: 0x{:X}.", reinterpret_cast<uintptr_t>(Aspectaddress_2));
Aspectaddress_2 += 0x5F;
}
}
if (DOFaddress == nullptr) {
constexpr auto DOFStringObfuscated = make_obfuscated<0x4A>("48 ?? ?? 8B ?? ?? E8 ?? ?? ?? ?? 48 ?? ?? 48 6B ?? ?? 48 8D");
DOFaddress = Memory::aob_scan(gameExecutable, DOFStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
DOFaddress = Memory::AOBScan(gameExecutable, DOFStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"Project_Plague-Win64-Shipping.exe" + 2BD06A4 - 48 8B 05 1D 15 9D 05 - mov rax, ["Project_Plague-Win64-Shipping.exe" + 85A1BC8]
//"Project_Plague-Win64-Shipping.exe" + 2BD06AB - 48 8B CB - mov rcx, rbx
//"Project_Plague-Win64-Shipping.exe" + 2BD06AE - 8B 78 04 - mov edi, [rax + 04]
//"Project_Plague-Win64-Shipping.exe" + 2BD06B1 - E8 AA 5F 8A 01 - call "Project_Plague-Win64-Shipping.exe" + 4476660
//"Project_Plague-Win64-Shipping.exe" + 2BD06B6 - 48 63 C8 - movsxd rcx, eax
if (!DOFaddress)
logger->warn("DOF signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
@@ -64,7 +110,12 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
if (Vignettingaddress == nullptr) {
constexpr auto VignettingStringObfuscated = make_obfuscated<0x4A>("8B ?? 83 ?? ?? 7D ?? 89 B3 ?? ?? ?? ?? EB");
Vignettingaddress = Memory::aob_scan(gameExecutable, VignettingStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
Vignettingaddress = Memory::AOBScan(gameExecutable, VignettingStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"Project_Plague-Win64-Shipping.exe" + 4474088 - C7 83 B0 1F 00 00 00 00 80 3F - mov[rbx + 00001FB0], 3F800000
//"Project_Plague-Win64-Shipping.exe" + 4474092 - 48 8B 05 87 FE 1F 04 - mov rax, ["Project_Plague-Win64-Shipping.exe" + 8673F20]
//"Project_Plague-Win64-Shipping.exe" + 4474099 - 8B 08 - mov ecx, [rax]
//"Project_Plague-Win64-Shipping.exe" + 447409B - 83 F9 02 - cmp ecx, 02
//"Project_Plague-Win64-Shipping.exe" + 447409E - 7D 08 - jnl "Project_Plague-Win64-Shipping.exe" + 44740A8
if (!Vignettingaddress)
logger->warn("Vignetting signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
@@ -75,7 +126,12 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
if (Fogaddress == nullptr) {
constexpr auto FogStringObfuscated = make_obfuscated<0x4A>("75 ?? B3 ?? EB ?? 32 ?? 48 8B ?? ?? ?? 48 ?? ?? 74 ?? E8 ?? ?? ?? ?? 0F ?? ?? 48 8B");
Fogaddress = Memory::aob_scan(gameExecutable, FogStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
Fogaddress = Memory::AOBScan(gameExecutable, FogStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
//"Project_Plague-Win64-Shipping.exe" + 28E27FD - 48 8B 05 54 9A C6 05 - mov rax, ["Project_Plague-Win64-Shipping.exe" + 854C258]
//"Project_Plague-Win64-Shipping.exe" + 28E2804 - 83 78 04 01 - cmp dword ptr[rax + 04], 01
//"Project_Plague-Win64-Shipping.exe" + 28E2808 - 75 04 - jne "Project_Plague-Win64-Shipping.exe" + 28E280E
//"Project_Plague-Win64-Shipping.exe" + 28E280A - B3 01 - mov bl, 01
//"Project_Plague-Win64-Shipping.exe" + 28E280C - EB 02 - jmp "Project_Plague-Win64-Shipping.exe" + 28E2810
if (!Fogaddress)
logger->warn("Fog signature not found. Maybe your game has been updated and is no more compatible with this plugin.");