【发布时间】:2012-08-07 16:23:57
【问题描述】:
我如何保护我的 分子类 变量值,例如 键长 和 NH3 的反转概率 免受作弊引擎用户(没有减慢多少)?
这是否可以防止外部影响?
class molecule
{
public:
molecule()
{
...
}
protected:
int *bond_length;
int *probability;
}
这样更安全吗?
class molecule
{
...
private:
int *bond_length;
int *probability;
}
如果以上所有内容都容易受到类似作弊引擎的软件的攻击,那么以下是否合乎逻辑?
class molecule
{
public:
molecule(){... ... ...}
...
...
//still public
int *bond_length_fake;
int *bond_length;
int *prob_fake;
int *prob;
}
...
//somewhere in the program
void thread_real_to_fake(void * molecule_parameters)
{
int bond_length_backup;
molecule * param=(molecule *)molecule_parameters;
while(working)
{
if((param->bond_length_fake)!=(param->bond_length))
{
param->bond_length_fake=param->bond_length;
}
}
_endthread();
}
好的,这可以通过使假货始终与真货相同来保护假货。但是如何保护真实的呢?我可以使用随机指针来获得真正的价值吗?如果是,我该怎么做?
【问题讨论】:
-
“作弊引擎”有点宽泛……你面临什么样的攻击?
-
还没有攻击。只是准备对抗。就像游戏破解一样。
-
在客户端计算机上实现安全计算(edit:security)
-
您似乎混淆了“安全”和“安全”的概念,并试图将“c++ 保护”(即为了安全:防止编程错误)映射到安全(防止故意恶意行为)目的。
-
所以,忘记公共的、私有的和受保护的。它们不是为了安全。