constexpr 带有函数地址的值

问题描述 投票:0回答:1

我试图将函数的地址以异或形式存储在内存中,类似于广泛用于仅接受字符串的字符串的 XorStr 函数。以半加密形式存储它,以便基本的逆向工程尝试无法完全看到字符串。我正在尝试通过调用函数来实现类似的事情。下面的代码是我当前尝试实现它的方式,当我在 IDA 中查看它时,“盐”被完全显示并存储在文件中。这违背了整个目的

__forceinline constexpr uintptr_t EncryptFunctionCall(uintptr_t PointerToFunction, uintptr_t Salt)
{
    return PointerToFunction ^ Salt;
}

IDA 当前(不期望的)结果是这样的: (无符号 __int64)HiddenFunctionCall ^ 0x999

期望的结果:(unsigned __int64)7FF9673A1859

我认为问题是将指针传递给函数,因此我要么要求替代方案,要么修复我当前的代码(如果已知)。非常感谢任何帮助。

c++ constexpr xor
1个回答
0
投票

标准语言目前不允许您这样做。

© www.soinside.com 2019 - 2024. All rights reserved.