针对作弊的指针
Pointers against cheat
本文关键字:指针 更新时间:2023-10-16
如何保护我的分子类变量值,如键长和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();
}
好的,这通过使其始终等于真假来保护假货。但是如何保护真正的呢?我可以使用随机指针来获取实际值吗?如果是,我该怎么做?
您无法保护您的计算机免受正在运行的软件的影响。如果有人控制机器,他们可以随意操纵它,这包括修改正在运行的程序的状态。
您可以做的最安全的事情是在单独的、无法访问的服务器上运行程序,并通过网络转发 I/O(例如,转发到浏览器窗口)。
编辑:作为替代方法,您可以将程序的引擎部分作为以单独用户身份运行的服务运行。这提供了一定程度的保护。引擎必须检查提交的用户输入(例如.key笔划)是否以合理的速率进入。这允许您在一定程度上强制实施规则,但不会阻止用户通过操作客户端中的图形呈现来透视墙壁。
相关文章:
- 1d 智能指针不适用于语法 (*)++
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 为什么使用 "this" 指针调用派生成员函数?
- 函数向量_指针有不同的原型,我可以构建一个吗
- 使用指针从C++中的数组中获取最大值
- 助记符和指向成员语法的指针
- 嵌入方指针压缩已禁用
- 数组的指针从不分段故障
- C++ 指针的内存地址和指向数组的内存地址如何相同?
- 何时在引用或唯一指针上使用移动语义
- QMetaObject invokeMethod的基于函数指针的语法
- 如何从 std::atomic 中提取指针 T<T>?
- 如何在 C# 中映射双 C 结构指针?
- C++将浮点指针值舍入为小数位数
- 为什么++(*p)更改指针值
- 调整大小后指向元素值的指针unordered_map有效?
- 正在将指针转换为范围
- 使用指向成员的指针将成员函数作为参数传递
- 将OpenCV C++重写为EmguCV C#-如何使用指针
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错