逆向工程:在视频游戏中寻找漏洞

主要观点:介绍通过创建工具在视频游戏中寻找漏洞的方法,以游戏《Sword of Convallaria》为例,包含游戏细节、逆向工程计划、获取和转储游戏数据、转换 Lua 字节码、理解网络协议、自动化更新以及整合进行安全测试等内容。
关键信息

  • 游戏在 PC 和移动平台上,Steam 有约 2000 并发活跃用户,通过付费赢取微交易和 PvP 玩法盈利,基于 Unity 且用 Lua 处理游戏逻辑,网络协议使用 HTTPS 和 UDP 数据包及 protobuf 消息。
  • 逆向工程步骤包括提取原始文件、分析登录认证流程和大厅服务器、调查游戏流量和服务器交互。
  • 用 AssetsTools.NET 提取游戏数据,发现 Lua 和 protobuf 文件,通过挂钩函数解密 Lua 字节码,识别加密方法,解决魔法数和读取函数等问题以读取 Lua 脚本。
  • 可通过 Fiddler 观察登录流程和令牌传输,用 Wireshark 监控游戏流量并识别 protobuf 数据包,确定 opcodes。
  • 包括下载原始资产文件的自动化更新方法,整合各组件进行安全测试,如发送各种数据包。
    重要细节
  • 提取游戏数据的代码示例,解密 Lua 字节码的具体算法,网络协议数据包的结构和组成,自动化更新的代码文件等。
阅读 12
0 条评论