根据 Reversing the League of Legends Client 一文中提到的方法,我们可以通过 API Monitor 拦截 cef_parse_url 得到部分的 url 调用。这里为了方便,介绍另一种方法。
工具:Fiddler + Proxifier + TCPView
准备工作:
在 Proxifier 中设置一个针对 LeagueClientUx 进程的访问转向,转至 Fiddler 的本地代理服务地址。
- 在
Fiddler的Tool -> Options -> Connections中可以看到 默认是 8888 端口。 - 在
Proxifier中添加Proxy Servers及rules
注意此时不要勾选转向,由于 Fiddler 并不能完整的处理中间的转发
准备工作完成后,正式开始
- 先启动游戏,登陆并进入大厅
- 打开
TCPView, 观察LeagueClient进程的listening端口号 - 在
Proxifier中 勾选转发规则, - 在
TCPView中断开LeagueClientUx进程中 目标端口 为上述观察的 端口号(地址为本机) 的连接
事实上,这里需要关闭的连接的端口号只有一个,而目标进程可能会 listening 多个,都关掉也无妨
由于 LeagueClientUx 内部会重试连接。 之后就能在 Fiddler 中观察到大部分的协议。
这里需要一提的是
在默认模式下, LeagueClient 与 LeagueClientUx 交互采用的 spdy_http_stream 方式
在经过上述捣腾后, 变为了 HttpBasicStream
这个细节在后续逆向中可能会有帮助。
结果
2344





