这会对作弊引擎起作用吗?

时间:2018-03-27 22:05:06

标签: javascript animate-cc cheat-engine

几个月前我开始编程。我在Animate CC中制作了一个完整的客户端游戏,因此我尝试了一种针对内存扫描软件的简单措施。

我试图避免让人们改变我的货币变量。

var canMoneyChange = false;
var money = 0;
var previousMoney = 0;

function everyFrame() { //Let's admit that this function is called every frame
    if (moneyChange == true) {
        lastMoney = money;
        canMoneyChange = false;
    } else {
        if (lastMoney != money) { //If money is "magically" changed it should drop here
            resetGame();
        }
    }

现在evertime我更新钱视觉显示我还必须包含布尔变量:

//...
canMoneyChange = true;
money += 100; //For example
updateMoney(); //This is only for visual effects
//...

想知道这是否有效,谢谢。

编辑:哦,该死的,我没有意识到CE会在同一时间找到lastMoney和money。我可以做一些事情,比如乘以一个数字来隐藏lastMoney:

function everyFrame() { //Let's admit that this function is called every frame
    if (moneyChange == true) {
        lastMoney = money * 8;
        canMoneyChange = false;
    } else {
        if (lastMoney != money * 8) {
            resetGame();
        }
    }

1 个答案:

答案 0 :(得分:1)

这将阻止50%的Cheat Engine用户,因为大多数用户缺乏经验,只能进行简单的扫描和内存修改。他们会放弃,因为你已经将对抗成本提高到他们的门槛之上。

正如其他人评论的那样,这是一场猫捉老鼠的比赛。

用户仍然可以扫描"未知的初始值"并扫描减少和增加的值。这将产生混淆的货币价值和常规价值,并不需要花太多钱从那里弄清楚。

此外,用户可以执行"查找写入此地址的内容"这将在货币地址上放置一个写断点,然后它会给他们指令,将货币改回原来的价值。此时他们将看到:

lastMoney = money * 8;

在装配中,并能够从那里弄明白。

在所有反作弊的情况下,你实施的每一种威慑都会增加对抗成本并过滤掉另一层作弊者。你的目标永远不应该是停止所有作弊者,因为它永远不会发生。但是在几个小时内你可以卷起一些混淆和一些反调试措施来阻止75%的骗子。问题是当另外25%代表有经验的骗子释放作弊时。那时,75%没有经验的团队的对抗成本代表了对搜索引擎的搜索。

我想说添加一些IsDebuggerPresent()类型检查,但我想在你的平台上是不可能的。

我不熟悉Animate CC或Flash,但结合使用1种自定义混淆技术,就像你现在正在使用公共免费混淆器一样,会让很多人厌倦而放弃。