魔力宝贝是啥?
昔日 SE 史诗级巨作,图形网游的先驱者,在此略去几万字不谈。 如今被非常不争气的中国代理商代理,游戏内容勉强说得过去,但是安全措施实在是不忍直视。
现存安全问题
- 官方网站未开启 ssl,架构陈旧,防火墙策略导致正常访问都经常被屏蔽
- 游戏主账号(PID)登录无二次验证措施
- 子账号( GID)虽然有密保卡,但是一号一卡,相当之繁琐
所以我想做啥?
一个非官方登陆器,敏感信息远程保存,登录的时候密码不在本地驻留。
这个为啥能做?
-
根据现有资料,我找到一位大神逆向工程了魔力宝贝的登陆器的通信协议:
整体架构设计和现有调研
- 密钥远程 /本地加密存储,自动密码更新 /管理
- 这个已基本实现,通过模拟登陆请求实现密码修改 /找回等操作
- 模拟登陆鉴权
- 根据逆向工程的加密特性,实现和游戏服务端的通信获取游戏账号开启的 token
- 不直接使用游戏账号密码,而是需要向服务端发起账号密码的请求的时候,把加密所需的信息发送给密钥管理设施,由密钥管理设施生成加密请求再向服务端发送
- 启动游戏
- 根据服务端返回的 token,调起游戏窗口
- 启动器进程与游戏进程通信采用共享内存的方式(win32)
目标产出
希望以GPL许可证的方式开源我们所有相关的代码
远程密钥加密存储设施
-
web 编程是我熟悉的范畴,用 Yii2 框架实现高可用性扩展性的一个密钥管理系统
-
之前已经有过一些尝试,有一些用户使用
-
只解决一次一密的问题并不能完善游戏的安全体验。
本地密钥加密存储
- 实现密码管理
- 实现加密包的计算
- 有一个简单的 gui 能够帮助用户以 GID 的维度选择账号直接启动游戏
第三方登陆器
- 实现与官方登录服务器的通信
- 实现与本地密钥存储的通信
- 实现通过共享内存的方式正确启动游戏进程实现登录
关于我
一个魔力宝贝的忠实粉丝
在大概 2002 年开始接触魔力宝贝,05~06 年因学业短暂离坑,07 年就读于 T 大之后,09 年怀旧服务器开启重新回坑。 拥有一套完善的魔力宝贝账号,包含诸多战斗系和生产系。
一个魔力宝贝游戏数据党
以“永远的数字宝贝”作为贴吧 ID,提出了一些独到的理论见解 独立实现了魔力宝贝的宠物算档,并且有开源方案 (比较久远的代码,那时候刚开始接触 php 后端,代码很渣很挫就不放了……)
一个 web 开发从业人员
主要技术栈在 php,熟悉框架底层,熟悉业务安全,特别有技术热情。
win32 编程的渣渣
嗯,就是我……虽然写过一些.Net ,但是灰常不专业
所以,我需要你的帮助。
Wechat: eWFuZ2dzMDc=
我能提供的:
其实真的没啥,都是凭着热爱。
如果你愿意入坑游戏,我愿意倾我所能给予帮助,
包括但不限于练级过任务做装备修东西吹水聊天打 P ……
有一台阿里云的服务器,有一个之前给算档器的域名( cgcal,魔力计算器)