【Steam登录】protobuf协议逆向 | 续
登录接口:
‘https://api.steampowered.com/IAuthenticationService/BeginAuthSessionViaCredentials/v1’
精准定位,打上条件断点
this.CreateWebAPIURL(t) ==
‘https://api.steampowered.com/IAuthenticationService/BeginAuthSessionViaCredentials/v1’
在控制台复制一下 copy(r.m_body.array)
然后输出对象
[null,"weiwuxian47","WP21RIH2cYLMytxuRAYICecYjmXjvtqgeQJ+OHvT4pkzldm3hLKuCL5wl9P8vPD9GJ3rpsJqQ/y9DjM4AaehMzIK8MOGb1tGHmTebxmiSlCUpM0L0YSnsHPE6Y7+etz96uRdBGrVP6qya7Wf3jJMWDK5vlF/MAIWxqddiuoTK2/ISvLyrZ9AFLuA6uWXvN/c/t/UbuXzy74zBEQi6WYKjWsOFNtO8Rjc6diisCTcwbqVYmWINldCIcx3aJznqkIAYe3hMr4FtlWLpH5oJkvbeppdqlkxzaD9BfohSI3AgP2a4hTva9ICy2JzGXBRW2dMOznLIOpeje5GwZtg9rw/4w==","394873250000",true,null,1,"Store",["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36",2],null,6
]
可以看到r对象的m_body是还没有序列化的原始数据,里面包含了账号和RSA加密的密码等等
现在往上找栈找到赋值的地方
现在进入序列化方法里面去找定义的proto字段
然后就会找到
这里的device_details字段没有声明类型,就是自定义类型
这就是device_details的proto定义字段了
对比一下发现完全没有问题
JS代码实现
js代码结果对比一下