一套自己的网络框架,能够处理客户端和控制台之间的各种消息通讯,同时也用在了单机控制台和网络控制台之间的通讯上;
一套自己的Hook引擎,用于在关键点挂接,比如帧数优化、反和谐等。这里面采用的方式有Jmp跳转方式的inline-hook、调试中断(包括int3中断和硬件中断),其他的还有内存访问中断等;为了配合上下文信息的获取,还有调用堆栈的处理等;
一套自己的DLL加载器,通过DLL加载器,彻底隐藏注入的DLL,避免被扫描到;
一套自己的资源打包、解包管理,将一些文本、脚本等文件进行打包处理,提高破解门槛;
一套自己的特征码扫描引擎,能够根据特征码自动扫描出exe和dll里面的基址、偏移等信息,减少游戏新版本更新后的基址查找工作量。通过它,我基本上能够做到开服前更新基址;
一套自己实现的socket代理客户端,能够改变指定进程的网络访问路径;
一套基于lua语言的脚本引擎,能够解析并执行自定义命令及其参数,带有分支、循环等特性,同时能够自定义变量、自定义函数等;