超级007x 发表于 2019-6-23 14:32:43

简单,有效的数据存档加密组件与演示

在论坛里搜了好久,都没有发现可用存档加密系统,于是我给广大新人门发一个简单好用的触发器组件


内容:StarCodev1.4,KryptCode,Md5Hash,10与16进制转换    下载:
其中大部分内容是我在国外论坛上找到的,此次演示只使用了其中的StarCodev1.4


基本加密与解密操作方法如图:,,即基本的对称加密方法
然而这样不能检查其是否被篡改,所以需要先对数值做下处理再加密,总共操作如下

解密与效验的操作如下

基本上是先按5个整数值处理要加密的数值,然后再按字符串密码加密处理后的字符串,得到最后用于储存于Bank的字符串
解密操作则是反过来,先按密码解密储存于Bank的字符串,再依次用3个数值按算法得出另外3个数值,如果其中2个数值为之前用来处理的数值,则证明另一个数值是最先开始被加密的数值
想要了解具体原理的可以去CSDN论坛上找加密相关文章,看不懂的可以跳过
肯定有人不知道怎么弄,所以我为大家整合了一键直接加密解密函数:
使用方法如下,直接看作是整数与字符串之间的互转函数就行

加密后的数值存于Bank中,配合署名验证使用,效果更佳!
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
下面是额外的防作弊小技巧
一,Bank内容复制
署名验证已经阻止不了玩家改档了,玩家通过直接复制另一个玩家的Bank内容,从而绕过解密后的效验
这个时候我提供的方法是,使用玩家的句柄后面的数字,加上任意字符串作为密码,从而让不同玩家的解密出的字符串不同
二,修改器修改内存
玩家直接用CE修改器修改星际2的内存,从而更改存储的已解密后的金钱等整数型变量
这个时候可以用我附带的进制转换,将改为16进制作为字符串变量储存起来
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
好了全部内容完了,下载地址在上面第二行

yxxiaobin 发表于 2019-6-23 20:33:08

很赞的演示。

vinboy22 发表于 2019-6-29 22:18:46

看了一下.完全看不明白

超级007x 发表于 2019-6-30 10:31:28

vinboy22 发表于 2019-6-29 22:18
看了一下.完全看不明白

演示里的动作和函数是需要先装了这个组件才有的,这演示可以说是这个组件的说明书

vinboy22 发表于 2019-6-30 11:48:38

超级007x 发表于 2019-6-30 10:31
演示里的动作和函数是需要先装了这个组件才有的,这演示可以说是这个组件的说明书

这个直接复制可以用了吗?

超级007x 发表于 2019-6-30 16:55:13

vinboy22 发表于 2019-6-30 11:48
这个直接复制可以用了吗?

是的,直接复制可以,导出触发器库再加入你的地图也可以

vinboy22 发表于 2019-6-30 22:16:34

超级007x 发表于 2019-6-30 16:55
是的,直接复制可以,导出触发器库再加入你的地图也可以

不用改动什么吗?

超级007x 发表于 2019-7-1 02:07:11

vinboy22 发表于 2019-6-30 22:16
不用改动什么吗?

不需要改动什么啊,你直接用我整合那两个函数就够了,字符串类型的话按我的演示触发器那样设计就行

vinboy22 发表于 2019-7-1 14:19:53

超级007x 发表于 2019-7-1 02:07
不需要改动什么啊,你直接用我整合那两个函数就够了,字符串类型的话按我的演示触发器那样设计就行

看不明怎么做

超级007x 发表于 2019-7-1 17:58:40

vinboy22 发表于 2019-7-1 14:19
看不明怎么做

如果你不想校验读取的值是否被更改,直接用encrypt和decrypt这两个函数就够了(输入和输出都是字符串),如果想校验就使用我整合的那个,插入值随便弄多少,只不过同字母的插入值1要小于2,插入值相当于在一句话中间加入一个字符当做标记,不知道规则的人乱改该标记就没了,以此来校验是否被改档,加密整合函数会将整数变成字符串,解密则是相反,如果输入的字符串被修改了则返回0。

vinboy22 发表于 2019-7-2 15:53:32

超级007x 发表于 2019-7-1 17:58
如果你不想校验读取的值是否被更改,直接用encrypt和decrypt这两个函数就够了(输入和输出都是字符串),如 ...

你能用几个整数变量做一个发出来吗(写测试变量存档)这样我会明白点

12399637 发表于 2019-8-29 03:21:08

本帖最后由 12399637 于 2019-8-29 03:26 编辑

我导入库文件 会提示xml错误

12399637 发表于 2019-8-29 03:23:31

本帖最后由 12399637 于 2019-8-29 03:27 编辑

直接全部复制过去保存会提示脚本编译错误https://bbs.islga.org/forum.php?mod=image&aid=182200&size=300x300&key=95ed341a3b7c4e4f&nocache=yes&type=fixnone
页: [1]
查看完整版本: 简单,有效的数据存档加密组件与演示