代码加密
前言
很多群友都有加密代码的需求。为了群友辛辛苦苦写的游戏不被人轻易白嫖,这必须得安排上。
实现方案
lua加载代码通常都是用loadfile
跟require
,所以我们可以先把lua文件通过string.dump
打成二进制格式,再通过加密算法加密,之后直接使用加密的文件去运行,通过重写loadfile
的底层函数,内置解密过程,即可实现代码加密的效果。
如何使用
修改解密key
修改skynet_fly\skynet\3rd\lua\lauxlib.c
文件中的ENCRY_KEY
枚举,密钥只能是8字节
,之后重启编译。
加密代码
到需要加密代码的根目录下执行skynet_fly_path\binshell\make_encrycode.sh skynet_fly_path key targetpath
即可执行加密。
示例
加密examples/AB_question
- cd examples/AB_question
- sh ../../binshell/make_encrycode.sh ../../ ‘qwer1234’ ../AB_en
sh ../../binshell/make_server.sh ../../
sh make/script/restart.sh load_mods.lua 0
代码加密
https://huahua132.github.io/2024/10/14/skynet_fly_word/word_3/R_encrycode/