-
Active Member
Eidolon decrypt
Code:
// main.cpp
PatchDecryptGadget(SDK::Memory::BaseAddress + 0x1A901D);
for (uintptr_t address = SDK::Memory::BaseAddress; address < SDK::Memory::EndAddress; address += 0x100) {
DecryptAddress(address);
}
Code:
// decrypt.hpp
#pragma once
#include <stdint.h>
extern "C" {
uint64_t __fastcall DecryptAddress(uint64_t encryptedPtr);
extern uint64_t FindGadget;
}
inline void PatchDecryptGadget(uintptr_t gadgetVA)
{
FindGadget = gadgetVA;
}
Code:
// decrypt.asm
PUBLIC DecryptAddress
PUBLIC FindGadget
.code
DecryptAddress PROC
jmp qword ptr [FindGadget]
DecryptAddress ENDP
.data
ALIGN 8
FindGadget dq 0
END
Enjoy.
Just dump with x64 now, or whatever you'd like.
Last edited by numerbo; 1 Week Ago at 03:54 PM.
-
Post Thanks / Like - 3 Thanks
-
Active Member
wink
)))))))))))))
-
Member
Last edited by std233; 1 Week Ago at 12:14 AM.
-
Active Member
61965 it was for the official retail implementation that went up and was removed.
.text:00000000001A901D mov rax, [rcx]
.text:00000000001A9020 retn
-
Post Thanks / Like - 1 Thanks
air999 (1 members gave Thanks to numerbo for this useful post)