德赛西威音乐e栈的破解程序

技术细节请参考上一篇文章《一种伪造服务器骗过某导航的音乐服务,从而延长有效期的方法》。根据原理用python+qt写了个现成的破解程序,界面简陋了些,下载链接及使用说明如下。

下载链接

使用说明

  1. TF卡或U盘先在车机上初始化,然后插入电脑,打开音乐e栈PC端。

  2. 用管理员身份运行程序。

    管理员身份运行程序

  3. 点击“Start Crack!”按钮。

    Start Crack

  4. 在音乐e栈客户端上,打开充值界面,卡号密码随便填。

    充值界面

  5. 点击确定,不出意外的话,即会提示充值成功,并且服务有效期也延长了99天。

    充值成功

  6. 可以随意下载电台或专辑了,并且可以同步到车上随时听了。

    破解结果

  7. 因为音乐e栈每次启动都会联网认证一次,所以这个破解程序每次打开客户端都需要执行一下上面的动作。

更新记录

  • 2014-08-01: v0.1 初始化。
  • 2014-08-24: v0.2 有效期从99天延长到999天,另外补充设置响应消息长度值,防止客户端由于处理字符串不当导致出错。
  • 2014-12-27: v0.3 解决部分车机序列号无法解析的问题。

一种伪造服务器骗过某导航的音乐服务,从而延长有效期的方法

某导航提供的音乐服务(音乐e栈),和虾米合作的,需要付费使用,前段时间本来想上网搜个破解版,结果没搜到,索性自已分析了一下它的交互方式,找出了个通过充值认证来延长服务有效期的方法。方法本身不复杂,主要是因为它的认证机制略显简陋,本文主要从技术角度来说明过程,仅供参考学习。

1 原始界面

音乐e栈服务过期

如上图,插入经过车机初始化过的TF卡后,启动音乐e栈客户端,显示当前服务有效期为0天,并提示需要充值续费。如果点击下载专辑的按钮,提示不允许下载。

2 寻找入手点

既然提示让续费,那就看看续费过程是什么样子。

先随便输个卡号密码试试:

充值卡无效

竟然用CS架构来做充值认证,实在是土的掉渣,就从这里入手了。

3 交互过程

把刚才进行充值时的报文用Wireshark抓下来,看看它是如何交互的。

1) 报文

充值失败的报文

可以看到,充值认证的流量走的是TCP协议8080端口,对端连接的服务器地址是42.156.140.44,这个暂时放一边,先来看看请求和响应报文分别填了什么内容。

2) 请求消息

请求消息内容

上图中可以看到,充值请求消息虽然走的是8080端口,但实际内容并非HTTP协议。

TCP负载的开头44个字节是一段二进制数据 …