请求标题:
POST https://gfp.line.naver.jp/P3 HTTP / 1.1
主持人:gfp.line.naver.jp
连接:保持活力
内容长度:180
来源:null
X-LAL:en
X-LCS:xxx ==
X-LHM:POST
内容类型:application / x-thrift
X-LST:260000
接受:申请/ x-thrift
X-Line-Application:CHROMEOS 1.4.1 Chrome_OS 1
用户代理:x
X-LE:2
DNT:1
Accept-Encoding:gzip,deflate,br
Accept-Language:en-US,en; q = 0.8
响应标题:
HTTP / 1.1 200 OK
Access-Control-Allow-Origin:*
访问控制 - 暴露 - 标题:X-Line-HTTP,X-LS
连接:保持活力
内容长度:292
Content-Type:application / x-thrift; charset = UTF-8
X-LE:2
X-Line-HTTP:P,HC,LP
X-LS:xxx
我从Fiddler那里得到了那些在Windows 10 Home上运行的标题
到目前为止我一直在研究,这是近似最近的节俭文件,
https://github.com/cslinmiso/LINE-instant-messenger-protocol/blob/master/line.thrift我只能找到官方编译器https://thrift.apache.org/download和一些构建信息
我的问题,如果我们有节俭文件和流标题+正文,如何解码节俭流?
附:我的情况与How can you reverse engineer a binary thrift file?不同,因为我上面有节俭文件,
答案 0 :(得分:1)
如果您有IDL文件,如果您想以编程方式处理数据,则可以使用编译器为其生成客户端。
如果您只想阅读数据,则可以使用此实用程序:
https://github.com/pinterest/thrift-tools
如果阅读响应消息"手动",您的伪代码可能看起来像这样(我把它放在评论中但格式非常糟糕)
readMessageBegin() // this is the message wrapper
readStructBegin() // this is the 'response' struct
readFieldBegin() // this will have field id '0' if successful, something else if it was an exception
// next you read the response value
readFieldEnd() // end of response field
readStructEnd() // end of response struct
readMessageEnd() // end of message