You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Incorrect Behaviour: Arm64 CopyLdrLiteral for non-SIMD inlines Pointer Read #305
which rewrites LDR Literal, the value of a PC relative address is directly inlined into the register.
i.e. Detours transforms it into a sequence of MOVZ + MOVK.
This is problematic if the value behind the PC relative address changes. For example, if the relative address points into the .data segment in order to read/write a global variable; and the value of the variable changes, Detours' rewritten code will no longer insert the correct value into the register as it has inlined the old value.
Expected behavior
A read of PC relative address should not be inlined, as the value behind this offset is not guaranteed to be constant.
Activity