游戏开发
文章平均质量分 91
十年饮水不凉热血
苟利代码生死以,岂因长短趋避之
展开
-
自定义类加载器加载加密jar包,使用Reflections扫描自定义加载器加载的Class,RSA加密解密签名AES密文,AES加密解密文件
为什么要做这个工作: 游戏私服是游戏人最讨厌的一件事,而游戏私服基本上都是内部人员把内部的自启服务器泄露出去,我们现在做的就是,内部发行的服务器版本是加密后的二进制文件,必须用给定的RSA秘钥才能解密二进制文件,然后 再使用自定义类加载器进行加载,在整个过程中都是流操作,不会生成class文件,就能防止内部发行的服务器被拷贝。这样并不能完全防止服务器泄露,如果有心人拿到秘钥,拿到加密后的class,自己写代码解密,也不能完全禁止,但是使用秘钥能在服务器删除秘钥,设置有效期,能在一定程...原创 2021-04-15 18:08:27 · 1010 阅读 · 1 评论 -
研究使用FastJson把Java对象转JsonObject的效率问题,以及改进方案。
构造了一个稍微复杂的Java对象对比在不同情况下的转换效率,都是循环20次执行。https://gitee.com/icefire11/test-fast-json概述:Main方法示例:import com.alibaba.fastjson.JSONObject;public class Test { public static void main(String[] args) { School school = new School(); lon原创 2020-11-27 14:55:27 · 3431 阅读 · 4 评论 -
google通信协议probuf的使用
1工具包准备: A: protobuf-2.5.0-windows.zip 解压得到proto.exe。 B: protobuf.jar 放入工程,构建路径。整个工程目录:2 在工程中创建proto文件夹,在文件夹下创建文件,命名为phone.proto:option java_package = "com.zjq.proto"; //类的包名opt原创 2017-08-22 14:20:49 · 1766 阅读 · 0 评论