大多数内存修改器原理很简单,通过多次数值变化来锁定内存地址来实现数值修改。
先上插件地址:SakuyaCN/Godot-Anti-Cheat: Godot 内存数据加密插件 (github.com)
列举两个简单的实现方式:
方式一:给每一个值设置一个MD5,读取数据是进行校验,如果校验不通过则说明数值被修改
方式二:直接给数值加密,每次进行数据操作时进行解密,同时加上校验操作
现在开始实现第一种方式
Godot自带字符串转MD5操作,所以直接将数据转换成String 然后调用md5_text()即可
str(objects[key]).md5_text()
具体实现方式可以看源码,这里直接展示效果图:
我们使用CE修改器进行修改数据


修改为99999999,然后我们点击print获取一下这个值:

可以发现数据修改被我们检测到了。
方式二:
我们直接加密数据本身,实现方式直接看源码,这里直接上截图:

然后我们去使用ce修改器找到对应的值,此时已经无法通过精确搜索找到我们的数据了

