在Windows 中使用EncodePointer/DecodePointer有什么好处?
MSDN说:
编码全局可用指针有助于防止它们被利用.所述EncodePointer功能混淆与秘密,使得它不能由外部代理被预测的指针值.使用EncodePointer的秘密对于每个进程都是不同的.
现在的问题是:如果攻击者不在我的程序中,那么它的地址空间与我的地址空间不同,因此我的应用程序中的地址不可用.如果它可以在我的地址空间中执行代码,它可以调用DecodePointer并使用该地址来调用编码指针.
那么这些功能的用途是什么以及它们如何帮助我提高安全性?