知道一个程序是否已被客户编辑

时间:2018-02-11 17:26:29

标签: security anti-cheat

我有一台服务器可以处理正在使用我的程序的客户端。 如何知道客户端(智能客户端)是否已编辑我的程序而不使用原始程序? (例如,他拆解了我的程序编辑&  为了作弊目的编译它)

1 个答案:

答案 0 :(得分:3)

如果通过“使用您的程序”,您的意思是您的服务器获得的输入来自您分发的某个未经修改的版本,您所能做的就是让某些人难以作弊。你永远不能百分百肯定。

您可以要求与请求一起发送客户端程序校验和,但这可能是愚蠢的:它不一定是真正的校验和。

您可以要求进行更复杂的检查,最多可达zero-knowledge proof,但您不能确定某些客户端代码已干预以使用您的代码运行证明,但随后运行修改后的代码其他部分。

更糟糕的是,你已经装备了所有东西,但它仍然必须在一台机器上运行,因此,附件会构建一个自定义的虚拟机来弄乱你的头。

相反,您可能想要考虑“什么足够好?”。一旦你知道了你想要保护的关键事项,找出一种方法来专门测试这些。那将是一个更具体的问题......