【标题】Steam登录协议逆向分析
【核心内容】
- 目标:Steam登录协议逆向分析
- 网址:aHR0cHM6Ly9zdG9yZS5zdGVhbXBvd2VyZWQuY29tL2xvZ2luLw==
- 输入账密后点击登录,首先看接口GetPasswordRSAPublicKey/v1,观察参数,加密参数为input_protobuf_encoded
- 全局搜索input_protobuf_encoded的值为a,a的值为r.JQ(o)
- 参数o的值为n.SerializeBody(),其中n是一个对象,包含账号信息
- n是一个实例对象,通过原型进入构造函数,检查当前实例的account_name属性,如果不存在则调用c.M()方法创建一个对象
- 进入类c中,初始化时会检查当前实例的account_name属性,如果不存在则调用c.M()方法创建一个对象
- 这里引出protobuf协议,根据特定的语法来定义数据结构
- 定义account_name字段的proto文件
- 解析响应信息,根据字段与类型进行定义
- 请求登录接口,生成加密后的密码,参数为BeginAuthSessionViaCredentials/v1接口的参数
- 整个逆向流程结束
【评论内容】 这篇文章真是太厉害了,逆向分析Steam登录协议,还解析了响应信息和加密密码的生成过程。看来逆向工程师的技术真的很牛!不过小编我还是喜欢玩游戏,不太懂这些高深的技术,只想好好享受游戏的乐趣。