Home

某LuaJIT游戏的Anti-Cheat分析

前言 这个游戏防修改的方法很平常,但因为是用LuaJIT写的引擎,所以不是太直观。所以与其说文章是关于游戏修改,倒不如说是在介绍LuaJIT。另外,由于这游戏有充值系统,所以省略了游戏有关的具体信息。 第一次尝试 打开游戏,随便找一个比较大的数值,打开CE,搜索数值,发现能够搜索到。 然后修改之,然后游戏就喜闻乐见的闪退了。 分析 重新打开游戏,搜索数值,在数据上按F5(或右键单击->Find out what acess this address),能看到有好几条指令在持续不断的访问。 点击Show disassembler,能看到这几条指令都是属于一个名为LScript.dll的DLL文件的。而通过DLL导出的符号可以猜到其是LuaJIT库。 Dump ...

Read more

易语言支持库内加密数据的DES算法的分析

介绍 易语言支持库里有个这样的命令: 〈字节集〉 加密数据 (字节集 字节集数据,文本型 密码文本,[整数型 加密算法]) - 数据操作支持库一->数据加解密 其中加密算法可以选DES以及RC4,使用RC4的话其他软件也可以解密,但是如果使用DES算法,结果却和其他标准算法产生的结果不同。本文详细分析了该不同的原因,以及解决方式。 易语言基础 易语言静态编译出的代码在调用库函数时都遵循一个标准: push xxxxx ; 一些标识类型的magic value push arg ; 参数 mov ebx, LibFunction ; 支持库的函数指针 call CallLibFunc ; 一个编译器优化后的__cdecl,第一个参数是由ebx传递的函数指针 add ...

Read more