我正在寻找 Unity 函数来确定我的游戏是否已被反编译/重新编译或以任何方式修改。
最佳答案
是的,Unity有一个功能可以解决这个问题,但它仍然可以被规避。
这可以通过 Application.genuine
来完成当应用程序在构建后以任何方式进行更改时,它会返回 false。
if (Application.genuineCheckAvailable)
{
if (Application.genuine)
{
Debug.Log("Not tempered");
}
}
问题是,如果这个人足够聪明,能够反编译、修改和编译游戏,他/她也可以删除上面的检查,这样上面的检查就变得毫无用处。任何类型的程序真实性或真实性检查都可以被删除,只要它在玩家的机器上运行。
编辑
您可以通过执行以下操作来增加被规避的难度:
1。转到文件 --> build设置...,然后选择您的平台。
2。单击播放器设置 --> 其他设置,然后将脚本后端从 <从strong>Mono到IL2CPP(C++)。
这将使规避这一点变得更加困难,但仍然有可能被规避。
关于c# - 确定游戏是否已被反编译/更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46793914/