Added comments on original assembly codes.
This commit is contained in:
@@ -63,6 +63,11 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled)
|
||||
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);
|
||||
//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]
|
||||
//Starfield.exe + BBA14A - E9 01 01 00 00 - jmp Starfield.exe + BBA250
|
||||
//Starfield.exe + BBA14F - 49 8B CF - mov rcx, r15
|
||||
if (DialogFOVAddress)
|
||||
{
|
||||
logger->info("Dialog FOV signature found at address: 0x{:X}.", reinterpret_cast<uintptr_t>(DialogFOVAddress));
|
||||
@@ -72,6 +77,11 @@ 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);
|
||||
//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
|
||||
//Starfield.exe + 12D9F3A - 80 3D EB A0 AD 04 00 - cmp byte ptr[Starfield.exe + 5DB402C], 00
|
||||
//Starfield.exe + 12D9F41 - 48 8B 05 10 32 BB 04 - mov rax, [Starfield.exe + 5E8D158]
|
||||
if (WeaponFOVAddress)
|
||||
{
|
||||
logger->info("Weapon FOV signature found at address: 0x{:X}.", reinterpret_cast<uintptr_t>(WeaponFOVAddress));
|
||||
@@ -81,6 +91,11 @@ 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);
|
||||
//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
|
||||
//Starfield.exe + 24D6D50 - 74 15 - je Starfield.exe + 24D6D67
|
||||
//Starfield.exe + 24D6D52 - 8B 42 38 - mov eax, [rdx + 38]
|
||||
if (HUDAddress)
|
||||
{
|
||||
logger->info("HUD safe zone signature found at address: 0x{:X}.", reinterpret_cast<uintptr_t>(HUDAddress));
|
||||
@@ -91,6 +106,11 @@ 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);
|
||||
//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
|
||||
//Starfield.exe + 159D77C - 0F BA E8 1B - bts eax, 1B
|
||||
//Starfield.exe + 159D780 - 89 87 C0 00 00 00 - mov[rdi + 000000C0], eax
|
||||
if (PhotomodeAddress)
|
||||
{
|
||||
logger->info("Photo mode signature found at address: 0x{:X}.", reinterpret_cast<uintptr_t>(PhotomodeAddress));
|
||||
|
||||
Reference in New Issue
Block a user