某旅游app分析(1)
sotp
该厂不许发布针对他们app的分析博客,好多博客都被厂商要求下架了,所以这里只是简单提几句。
一,利用查壳工具对apk做检测,并没有找到壳的特征,没加壳,dex文件都清晰可见。
二,root检测似乎不会导致app闪退与正常使用。
三,使用酒店搜索功能时,通过“花瓶”抓不到酒店的包,只能获得酒店的预览图,但具体价格、位置等信息都看不到,根据分析,使用了sotp协议。
接下来的分析关于酒店搜索功能。
接收
分析了接收报文时的调用栈:
报文的前8个字节代表payload长度。
payload要是为6个字节,则是心跳包;反之是常规业务数据包,业务数据包的前6个字节有特殊用处,前4个字节是DataHandleType,后2个字节是Version,根据这2个值分别选择解密方式和解压缩方式(AES、Xor、Gzip、Zstandard),最好进行反序列化。
对AES进行了分析,并没有魔改,IV和密钥都很好获得。
发送
再分析了发送报文时的调用栈:
对RequestBody先进行序列化,再进行压缩、加密。
有意思的是,RequestBody的结构是protobuf,费了一些心思,一开始用blackboxprotobuf逐步还原请求体,后来在apk中找到了关于TAG的定义,整理成proto文件,对body部分进行还原。
然后发现被这个字段开盒了hhhh。

下一篇博客应该是对该app的某个加密字段进行分析。
最后,如果这个博客不允许发,可以联系我/(ㄒoㄒ)/~~(2050365997@qq.com)